Bagaimana cara mengekang kompleksitas pengembangan web? [Tutup]


17

Saya telah menjadi programmer sisi server untuk sebagian besar karir saya dan baru-baru ini mulai menghabiskan lebih banyak waktu untuk pengembangan web. Saya kagum pada sejumlah hal yang perlu saya kuasai untuk menulis aplikasi web yang layak. Hanya untuk menuliskan beberapa alat / teknologi yang perlu saya pelajari,

  • Bahasa pemrograman sisi server (Java / JSP, ASP, PHP, Ruby atau yang lainnya)

  • Kerangka kerja web yang layak (untuk aplikasi ukuran sedang hingga besar).

  • HTML & CSS

  • Javascript

  • Pustaka Javascript (JQuery / ExtJS dll. Terutama untuk AJAX). Senang mengetahui bahkan jika tidak perlu.

  • Setidaknya pengetahuan dasar tentang desain web - tata letak, warna, font, dll.

  • Pemahaman yang baik tentang keamanan web.

  • Pemahaman yang baik tentang masalah kinerja / skalabilitas.

  • Pengujian, masalah kompatibilitas browser, dll.

Daftarnya berlanjut.

Jadi, pertanyaan saya kepada pengembang web berpengalaman adalah - Bagaimana kalian bisa belajar dan terus memperbarui diri tentang banyak hal? Saat mengembangkan aplikasi web, bagaimana Anda menangani kerumitan yang terlibat dalam bidang-bidang ini dan belum berhasil menulis aplikasi yang dirancang dengan baik, mudah digunakan, aman, berkinerja tinggi, dan dapat diskalakan.

Sebagai pengembang web, apakah seseorang harus menjadi pendongkrak semua perdagangan atau haruskah seseorang mengkhususkan diri dalam satu atau dua bidang dan menyerahkan sisanya kepada anggota tim lainnya?


Hal-hal baru pada awalnya sulit. Jangan biarkan hal itu merusak Anda. sadarilah bahwa Anda tidak akan dapat bersaing dengan para dev yang berpengalaman, berpengalaman, dan hanya melakukan yang terbaik. Perluas keterampilan Anda dari waktu ke waktu sesuai kebutuhan. Semua alat ini berubah begitu cepat, bagaimanapun Anda harus menjadi pembelajar seumur hidup untuk bertahan hidup di dev. Itu, atau dapatkan "keberuntungan" pemrograman di assem. selama 20 tahun.
P.Brian.Mackey

Jawaban:


9

Bahasa pemrograman sisi server (Java / JSP, ASP, PHP, Ruby atau yang lainnya)

Gunakan kerangka kerja. Django, misalnya.

Kerangka kerja web yang layak (untuk aplikasi ukuran sedang hingga besar).

Bukan "menengah ke besar". Gunakan kerangka kerja untuk semuanya .

HTML & CSS

Itu adalah apa adanya. Pelajari itu.

Javascript

Gunakan perpustakaan dan kerangka kerja sebanyak mungkin. Tulis lebih sedikit, gunakan kembali lebih banyak.

Pustaka Javascript (JQuery / ExtJS dll. Terutama untuk AJAX). Senang mengetahui bahkan jika tidak perlu.

Benar. Gunakan perpustakaan.

Atau.

Gunakan FLEX.

Setidaknya pengetahuan dasar tentang desain web - tata letak, warna, font, dll.

Salin situs yang ada.

Pemahaman yang baik tentang keamanan web.

Baca www.owasp.org dengan cermat. Dan. Gunakan kerangka kerja yang melakukan ini.

Pemahaman yang baik tentang masalah kinerja / skalabilitas.

Gunakan Apache. Gunakan kerangka kerja yang menangani ini. Baca Arsitektur Internet Scalable milik Schlossnagle.

Pengujian, masalah kompatibilitas browser, dll.

Kerangka kerja Perpustakaan.

Ada trik untuk ini. Gunakan sebanyak mungkin pustaka dan kerangka kerja. Web telah ada selama bertahun-tahun.

Berdiri di atas bahu raksasa. Silahkan. Anda tidak perlu menemukan kembali semua ini.


Benar, Anda tidak harus menciptakan kembali semua itu sebagai pengembang berpengalaman yang mengenal semua kerangka kerja dan alat. Tapi, menghilangkan semua alat ini sebagai pria baru hanya meningkatkan penghalang untuk masuk. Dia harus melakukan javascript dasar dan seperti pemula untuk mengurangi penghalang ini. Tapi, karena OP bertanya bagaimana "dev berpengalaman" melakukan hal-hal yang saya tidak bisa ping -1 untuk ini.
P.Brian.Mackey

5

Bagaimana kalian bisa belajar dan terus memperbarui informasi tentang banyak hal?

Kiat 1 . Awasi semua hal yang terjadi di luar sana. Dengarkan apa yang dibicarakan orang, periksa berbagai hal, baca artikel dan blog, tandai apa yang penting, pelajari, bereksperimen, tetap ingin tahu tentang segalanya.

Kiat 2 . Benar-benar bersenang-senang dalam prosesnya.

Kiat 3 . Seperti yang pernah ditunjukkan oleh seseorang pada SO, hal-hal yang Anda daftarkan terkait dengan pengetahuan kolektif banyak pengembang. Jangan berharap untuk mengetahui semuanya dengan sempurna, itu terlalu berat untuk ditangani oleh satu pikiran. Ambil yang Anda butuhkan dan ketahui di mana menemukan sisanya.

Sebagai pengembang web, apakah seseorang harus menjadi pendongkrak semua perdagangan atau haruskah seseorang mengkhususkan diri

Lebih baik berpengalaman dalam berbagai bidang. Apa yang istimewa tentang pengembangan web adalah tiba-tiba menyatukan semua aspek pengembangan produk di satu tempat di satu tangan. Mau tidak mau Anda harus menyadari banyak hal untuk membuat hal-hal diketik. Tapi serius, sangat menyenangkan memiliki jari-jari Anda di mana-mana!


2

Anda tidak selalu memiliki tim, setidaknya dalam kasus saya. Jadi menjadi "jack of all trade" sangat membantu.

Tapi Anda tidak harus / tidak akan tahu segalanya, jadi pandai mencari Google.

Anda akan membangun keterampilan sesuai kebutuhan Anda.


Ya, sepertinya sangat sulit pada awalnya.
Rice Flour Cookies

1

Ada dasar-dasar yang harus Anda ketahui - HTML, CSS, markup semantik, apa yang dilakukan HTTP dan bagaimana memanfaatkannya.

Kemudian Anda melihat apa yang Anda butuhkan untuk proyek ini , apa pun proyek saat ini. Mungkin itu akan melibatkan mulai dengan platform atau CMS yang ada dan menyesuaikannya, kadang-kadang sepenuhnya dipesan lebih dahulu tetapi lebih sering tidak. Terkadang akan ada persyaratan yang terkait dengan di mana dan bagaimana dihosting yang akan memandu Anda ke platform yang tepat, di lain waktu fungsi yang Anda inginkan akan memandu hosting yang dapat Anda gunakan. Anda belajar apa yang Anda butuhkan saat Anda membutuhkannya. Ini agak lambat sebagai cara kerja tetapi akhirnya menjadi cara kebanyakan dari kita menjadi pandai dalam apa yang kita lakukan - memproyeksikan dengan mempelajari apa yang perlu kita ketahui.

Jelas, semakin banyak Anda bekerja di perusahaan pengembang web yang lebih berpengalaman, semakin cepat Anda dapat belajar dari mereka, tetapi secara keseluruhan sebagian besar dari kita mengambil keterampilan ini sedikit demi sedikit dari waktu ke waktu.


1

Saya mencoba cukup tahu tentang semua teknologi saat ini sehingga saya bisa tahu kapan mereka harus diterapkan. Sebagai contoh, saya terutama pengembang ASP.NET, tapi saya cukup tahu untuk Ruby on Rails untuk mengetahui apakah itu lebih cocok untuk masalah tertentu.

Teknologi yang saya gunakan sebenarnya saya coba ketahui masuk dan keluar. Jika ada fitur tertentu di ASP.NET, saya ingin mengetahuinya secara terperinci dan tahu kapan saya harus dan kapan saya seharusnya tidak menerapkannya. Hal yang sama berlaku untuk JQuery, CSS, dan semua yang saya gunakan.

Agar tetap up to date, saya mendengarkan podcast, berlangganan feed RSS, membaca StackOverflow, dan menghadiri acara pengembang.


1

Mulai dengan cara mudah dengan .NET atau JEE / JSF. Tidak perlu melakukan proyek pertama Anda dengan cara yang sulit. Simpan kompleksitas itu ketika Anda benar-benar membutuhkannya.

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.