Apa jalan menuju penguasaan JavaScript? [Tutup]


18

Saya tahu bagaimana kita mulai dengan JavaScript, kami memotong dan menempelkan snippit untuk mendapatkan sedikit fungsionalitas atau validasi sisi klien.

Tetapi jika Anda mengikuti jalan ini dalam mencoba menerapkan perilaku interaktif yang kaya, tidak butuh waktu lama sebelum Anda menyadari bahwa Anda menciptakan Big Ball Of Mud.

Jadi apa jalan menuju keahlian dalam pemrograman lapisan interaksi? Buku, tutorial, latihan, dan proses apa yang berkontribusi terhadap kemampuan memprogram JavaScript yang kuat dan terpelihara?

Kita semua tahu bahwa latihan itu penting dalam setiap usaha, tetapi saya sedang mencari jalan yang mirip dengan jawabannya di sini: /programming/2573135/


"Lapisan interaksi?"
Robert Harvey

1
Seharusnya tag baru menurut saya: P
Mike

1
Pertanyaan lain di mana jawabannya adalah berlatih sama seperti bidang lain yang ingin Anda kuasai. Berlatih, belajar dari rekan-rekan Anda (orang-orang yang lebih terampil) dan apakah saya menyebutkan latihan. Proses untuk menguasai bahasa pemrograman x sama dengan proses untuk bahasa pemrograman y yang sama dengan menguasai pahatan atau merajut atau perdagangan lainnya.
Chris

1
@ johnny: Saat Anda dapat mengambil pengecualian dari jejak tumpukan ...
TMN

1
@ Chris - jika Anda mengikuti tautan yang saya sertakan, Anda akan melihat bahwa pertanyaan seperti itu dapat dijawab dengan bermanfaat. Mengatakan "jawabannya adalah latihan" tidak membantu. Arahkan ke beberapa landmark di sepanjang jalan yang bermanfaat, jangan hanya menyuruh saya untuk mulai berjalan.
Eric Wilson

Jawaban:


15

baca kode orang lain ( BANYAK ) dan cobalah untuk mendapatkan pemahaman tentang apa yang mereka lakukan, dan mengapa mereka melakukannya. Tulis kode Anda sendiri ( BANYAK ) cobalah konsep dan ide baru, terutama bermain dan bersenang-senang. Cara terbaik untuk menjadi lebih baik dalam sesuatu adalah berlatih, berlatih, dan kemudian berlatih lagi.

Baca buku, tutorial, artikel, blog, umpan RSS, dll.

Buat beberapa proyek untuk dikerjakan di waktu luang Anda. Jika Anda tidak dapat memikirkan sesuatu, cari proyek sumber terbuka yang mungkin Anda minati.

juga, jangan berkecil hati dan yang terpenting, ingatlah "penguasaan" bukanlah tujuan, tetapi sebuah perjalanan - lakukan sesuai keinginan Anda, bersenang-senang, dan nikmati pemandangannya. Jika Anda menganggapnya terlalu serius, Anda akan terbakar dan itu tidak ada gunanya bagi siapa pun.


7
Saya berharap ini akan otomatis menjawab ketika seseorang bertanya "bagaimana belajar / menguasai X". Kedengarannya sangat mirip bagaimana Anda menguasai bukti matematika atau memperbaiki novel. Lihat karya X lainnya, praktikkan X sendiri, Bilas, ulangi -> Master dalam X.
Chris

@ Chris, Yup. Ini adalah jawaban standar saya.
Muad'Dib

Meskipun saya bisa mengatakan pertanyaan tentang di mana mendapatkan referensi yang bagus / buku / bahan adalah pertanyaan yang saya nikmati. Baru-baru ini mengambil python dan pertanyaan kami punya programmer.stackexchange.com/questions/12189/... Saya menemukan bintang untuk membuat saya turun dan berjalan.
Chris

@ Chris ya, jawaban ini lebih merupakan saran umum dan tidak memiliki langkah-langkah spesifik yang, menurut saya, sangat objektif. Saya juga suka melihat tautan. Tapi, untuk itulah Google diperuntukkan, bukan?
Muad'Dib

Benar tetapi google tidak dapat memberikan reaksi / kesan materi. Google melakukan yang baik tetapi tidak melakukan semuanya. Setuju terlepas. t
Chris


3

Pertama, Anda perlu tahu apa tujuan Anda dalam mempelajari JavaScript akan menjadi. Jika Anda hanya ingin melakukan validasi input dan membuat UI sedikit lebih mudah bagi pengguna maka Anda benar-benar tidak perlu memiliki pemahaman yang mendalam tentang bahasa jika Anda menggunakan kerangka kerja seperti jQuery .

Yang mengatakan, jika Anda ingin mendapatkan pemahaman yang kuat tentang JavaScript, maka coba dan tulis ekstensi ke kerangka kerja yang ada yang mengimplementasikan alat yang bermanfaat.

Dalam hal buku dan sumber daya lainnya, saya belum benar-benar mendengar banyak tentang cara buku yang berguna dan umumnya saya sudah belajar bahasa meskipun mencoba untuk memecahkan masalah dan memeriksa untuk memastikan kode saya bersih sesuai dengan JSLint . Kombinasi dari masalah yang menarik (misalnya ekstensi kerangka kerja), JSLint, dan cukup waktu untuk mendapatkan latihan yang solid kemungkinan akan menjadi taruhan terbaik Anda dalam hal mempelajari bahasa.


2

Sebelum Anda mempelajari detail pengembangan web (DOM dll.), Pelajari bahasa inti. Anda dapat belajar dalam banyak hal - buku, video dll. Anda tentu saja harus membaca dan menulis kode.

ECMAScript (itulah nama standar bahasa - javascript mengacu pada beberapa implementasi) adalah bahasa yang sangat menarik. Ini adalah bahasa berorientasi objek yang dinamis, fungsional dan prototipe, oleh karena itu, Anda harus meluangkan waktu untuk memahami prinsip-prinsip paradigma ini.

Pelajari menggunakan konsol interaktif di browser Anda (di Chromium, Anda dapat mengaksesnya dengan menekan Ctrl+ Shift+ J) yang mirip dengan alat-alat seperti IRB dan interpreter Python interaktif. Ini berguna untuk menguji fitur bahasa dan debugging.

Gunakan JSLint untuk memeriksa kualitas kode Anda.

Saat Anda mulai melakukan pengembangan 'nyata' menggunakan DHTML, buat hidup Anda lebih mudah dengan menggunakan framework, seperti JQuery , untuk menangani masalah lintas browser yang membuat frustrasi.


1

Banyak teknik yang membuat seorang programmer ahli dalam bahasa tertentu dapat diterapkan di sini, meskipun javascript memiliki beberapa mutiara yang memungkinkannya digunakan untuk efek luar biasa. Mungkin salah satu rintangan terbesar yang harus saya lewati dengan menggunakan javascript adalah untuk membatalkan mentalitas pemrograman "C" saya, yang artinya, ribuan fungsi kecil yang sempit menjadi satu file js.

Beberapa saran umum adalah mengabstraksi kapan pun Anda bisa, dan mencoba membentuk kelas kapan pun Anda bisa mengatur perilaku umum. Buat file js baru untuk fungsionalitas apa saja yang dapat digunakan untuk efek yang baik di file js Anda yang lain (sesuai alasan) dan hindari variabel global jika memungkinkan. Saya akan sangat menyarankan Anda belajar jQuery jika Anda belum melakukannya. Ini adalah alat yang saya cintai dan sekarang saya tidak akan melakukannya tanpanya. Ini adalah ekstensi javascript yang sangat fleksibel yang memungkinkan Anda menyederhanakan kode Anda yang sangat bagus untuk kesederhanaan dan juga mampu membuat kode dengan cepat dan efisien. jQuery hadir dengan pustaka plugin besar yang memungkinkan Anda melakukan banyak hal yang tidak bisa lebih mengesankan jika Anda melakukannya dalam flash. Lihat jQuery UIuntuk seluruh sistem tema untuk situs Anda, memungkinkan Anda untuk secara efektif mengubah seluruh tata letak situs Anda tanpa melakukan banyak hal sama sekali. Dilengkapi dengan banyak efek animasi dan kontrol praktis yang biasa digunakan di situs web (pemilih tanggal, tombol, bilah kemajuan, dll.), Yang sebagian besar dapat diaktifkan menggunakan satu baris javascript.

Semoga itu bisa membantu!


1

Sebagian besar dari apa yang Anda lakukan dalam JavaScript pada dasarnya terkait dengan DOM, CSS, dan kompatibilitas browser, sehingga memahami DOM adalah salah satu persyaratan utama untuk menguasai JavaScript.

Mempelajari fitur inti dari bahasa, seperti orientasi objek berbasis prototipe, fungsi anonim, dan fitur bahasa yang lebih umum seperti loop, kondisi, dll. Adalah kunci untuk memahami kode apa pun yang Anda baca yang tidak secara khusus berinteraksi dengan DOM / CSS .

Anda juga perlu mempelajari perpustakaan standar bahasa, misalnya String dan Matematika dan fungsi-fungsi objek inti lainnya.

Anda juga harus mempelajari algoritma, jika Anda ingin mendapatkan pemahaman yang benar dan lengkap tentang bagaimana hal-hal dilakukan, dan bagaimana menerapkan solusi yang lebih maju, pengetahuan ini sangat mendasar untuk memahami pemrograman lanjutan, dan melampaui sintaksis khusus bahasa.


1

Baca kode perpustakaan yang Anda gunakan. Membaca sumber jQuery atau Prototipe akan mengajarkan Anda banyak hal tentang apa yang sebenarnya terjadi dalam javascript dan dom. Teknik penelitian yang digunakan perpustakaan sehingga Anda bisa memahaminya. Jangan ragu untuk mulai dengan membaca kerangka kerja mikro di http://microjs.com/ . Pastikan Anda melihat sumber yang sebenarnya, dan bukan hanya file yang didistribusikan. (jQuery memiliki sekitar selusin file sumber, tetapi mereka dirakit oleh proses build.)


0

Javascript diterapkan di banyak area pengembangan saat ini.

  • Ini satu-satunya bahasa yang ada di browser modern.
  • Itu dapat berjalan di server, terima kasih kepada node.js dan mesin V8.
  • Itu dapat menjalankan embeded di perangkat seluler melalui PhoneGap atau alternatif lain.
  • Dapat digunakan untuk membuat aplikasi windows 8.

Karena itu, saya percaya bahwa ada lebih banyak master javascript. Itu tergantung pada apa yang ingin Anda mulai, tetapi yakinlah, masing-masing dari 4 item yang disebutkan di atas akan memberi Anda tantangan yang berbeda - ok, mungkin bidang jendela 8 dan phonegap bisa serupa tetapi sisanya berbeda -.

Jika kita berbicara tentang lingkungan peramban, mempelajari bagaimana hampir setiap aplikasi web harus diatur dapat menjadi salah satu jalur yang bisa Anda jalani. Saya akan menempuh jalan itu, dan bereksperimen dengan ide-ide saya sendiri, memeriksa repositori git dari perpustakaan organisasi kode populer seperti dojo, backbone, bara dll.

Jika kita berbicara tentang lingkungan node js, itu cerita yang berbeda. Kami tidak peduli dengan minifikasi dan ukuran file. Membuat seluruh aplikasi dalam simpul, membangun sistem, situs, REST api, ada banyak hal untuk ditemukan di sana.

Jika kita berbicara tentang dunia seluler, optimasi yang berlebihan muncul di pikiran. CSS3 mempercepat properti, animasi, acara sentuh dan mencoba menggunakan arsitektur yang sama dengan web dengan komponen UI yang lebih khusus adalah hal-hal hebat untuk memulai.

Semua dalam semua, seperti orang lain merespons, bereksperimen dengan kode Anda sendiri, dan dengan kode orang lain adalah cara terbaik untuk terlibat, mengikuti apa yang baru, dan siapa tahu, mungkin muncul dengan hal besar berikutnya.

Hal lain yang membantu adalah bekerja dalam tim, dan memahami perbedaan antara cara Anda dan cara penulisan kode tim. Bekerja dalam tim pengembang javascript akan memaksa Anda untuk menulis kode yang lebih baik, dan mendokumentasikannya dengan baik. Saya pikir tidak ada cara yang lebih baik untuk belajar tentang arsitektur suatu aplikasi selain menulis wiki tentang apa yang ingin Anda terapkan atau sudah terapkan.


-1

Saya benci JavaScript sampai saya menemukan jQuery. Sekarang saya menyukainya dan menggunakannya setiap saat. Mungkin terlalu banyak.


Anda membenci DOM dan kepatuhan lintas-browser bukan EcmaScript.
Raynos

jQuery membuat Javascript menyenangkan! +1
Dinamis
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.