Seperti yang disebutkan oleh orang lain, ini adalah masalah pertukaran dan memiliki pengetahuan yang benar.
Satu-satunya perangkap yang mungkin ingin Anda pertimbangkan adalah ini: Anda menyebutkan dalam pertanyaan Anda bahwa Anda melihat web memiliki "lintas platform" sebagai keuntungan. Tapi benarkah itu? Pikirkan seperti ini: jika Anda mengembangkan sesuatu untuk desktop, Anda perlu menentukan daftar platform dan persyaratan mereka untuk mendukung.
Jangan salah, itu sama untuk web. Dan meskipun itu sudah sangat sederhana dari sebelumnya, jika Anda merancang aplikasi publik yang luas, Anda harus berurusan dengan setiap versi yang mungkin dari setiap browser web di luar sana. Dan jika ini lebih merupakan aplikasi perusahaan, maka persiapkan diri Anda dan bersiaplah untuk menyusun persyaratan platform peramban yang didukung dengan sangat tepat.
Jangan mengira Anda akan menghindari peretasan khusus platform di sana-sini jika Anda membuat sesuatu yang signifikan.
Dan kemudian bagian yang menyenangkan. Apa yang terbaik Peramban yang memperbarui diri hampir secara transparan sangat teratur seperti Chrome? Atau yang meluncurkan pembaruan keamanan hanya fitur bulanan dan utama setiap zaman batu (seperti IE)? Jawabannya tidak sejelas yang Anda kira, karena beberapa pembaruan "transparan" yang sering terjadi ini dapat memecahkan kode Anda, dan Anda harus mengikuti ini dan bereaksi segera. Atau awasi pra-rilis beta dan dev saat mengembangkan dan menguji. Untuk semua peramban yang dengan bodohnya Anda katakan ingin Anda dukung (semoga sukses).
Oh dan jangan lupa pertimbangan UI. Anda juga menghadapi sukacita memutuskan apakah Anda ingin UI yang konsisten ACROSS semua platform target Anda, atau konsisten UI DENGANplatform target masing-masing host. Lihat semua tombol kecil yang bisa Anda lihat di halaman web? Apakah Anda ingin mereka persis sama di mana-mana, atau berintegrasi dengan lingkungan yang digunakan oleh pengguna Anda? Tentu saja masalah ini bukan hal baru dan ada untuk model pengembangan lain, tetapi tampaknya lebih penting di sini, dan tergantung pada jenis pengguna yang Anda targetkan dan apa yang mereka harapkan. Pengguna akhir publik cenderung ingin Anda berintegrasi dengan platform mereka - tetapi masih ingin Anda "wow!" mereka dengan barang-barang mewah - sementara pengguna perusahaan menginginkan sesuatu yang terlihat seperti aplikasi desktop. Dan platform seluler memiliki dimensi baru untuk semua ini.
Untuk 2 paragraf terakhir, ide yang umum adalah kadang-kadang mengemas browser web pra-konfigurasi dengan installer Anda, yang kemudian terhubung ke aplikasi web Anda (di-host secara lokal atau di web). Ini bagus karena Anda mengontrol frekuensi pembaruan dan Anda dapat "membekukan" negara dan Anda tahu persis apa yang harus didukung dan diuji. Plus, Anda dapat menambahkan hal-hal keren seperti ekstensi pengguna khusus. Misalnya, mengemas Chromium "beku" dengan Ekstensi Chrome kecil yang telah Anda kembangkan untuk membuat penggunaan aplikasi web Anda lebih mudah untuk berbagai jenis pengguna bisa sangat menyenangkan. Di sisi lain ... Anda sekarang bertanggung jawab jika terjadi pelanggaran keamanan karena Anda membekukan siklus rilis, dan aplikasi Anda tidak akan mendapat manfaat dari peningkatan kecepatan (jika ada).
Seperti banyak hal, itu adalah kapak bermata dua.
Catatan: Saya memiliki bias kuat terhadap web karena pada dasarnya adalah tumpukan besar teknologi setengah matang (dan saya sopan di sini), sampai ke lapisan OSI, di mana kami terus menambahkan lapisan omong kosong menyembunyikan masalah di bawahnya tanpa benar-benar menyelesaikan atau memperbaikinya.
Yang sedang berkata, saya mendukung web untuk sifatnya di mana-mana sebagai platform. Saya pikir langkah perusahaan Anda (mungkin) yang tepat. Itu tergantung pada target pasar Anda dan platform yang Anda tuju, jelas. Jika Anda ingin mengekspos sesuatu sebagai layanan, maka Anda mungkin baik untuk pergi (meskipun itu tidak perlu juga). Jika tidak, maka mungkin tidak ada banyak alasan untuk itu.
Hmm, dan perkirakan beberapa perkembangan yang menyenangkan di masa depan sekarang karena lebih banyak varian ringan dari sistem operasi yang ada terus memijah untuk lingkungan seluler (netbook, smartphone, PDA, tablet, eBook ...), dengan lebih banyak penekanan pada penggunaan browser tertanam yang ringan. .. tetapi dengan semua bagian baru dari gangguan rendering UI mereka.
Mengenai teknologi berbasis plugin ... Saya akan mengatakan untuk menjauh dari mereka. Mereka akan meningkatkan kekuatan aplikasi Anda, tetapi akan membatasi penetrasi pasarnya. Dalam beberapa kasus, Anda akan melihatnya sebagai nilai tambah dalam hal dukungan lintas platform, sampai platform baru tiba-tiba menolak untuk mendukungnya. Standar Web ada di sini karena suatu alasan (berhati-hatilah untuk tidak terlalu bersemangat tentang segala hal di HTMl5, atau mungkin meledak di wajah Anda).
Sunting: hal-hal lain untuk dipertimbangkan ...
Pengerahan
Sangat sulit untuk menemukan pengembang web yang berpengetahuan luas. Anda akan berpikir ada kawanan mereka, tetapi mereka tersesat dalam kumpulan besar, yah, orang yang cukup tidak kompeten yang berpikir telah berhasil menulis 700 baris JavaScript / ECMAScript untuk mengimplementasikan beberapa validasi dalam bentuk mereka adalah akhirnya semua dan jadilah semua yang bisa dicapai dalam hal keterampilan tingkat tinggi.
Saya tidak bercanda, akhir-akhir ini pertanyaan pertama saya untuk semua wawancara pengembangan web adalah bagaimana mendeklarasikan variabel, dan kemudian apakah ada perbedaan antara menggunakan var
atau tidak (tergantung pada bagaimana mereka menjawab). Ini menyedihkan. Saya merasa jauh lebih sulit untuk menemukan pengembang web rata-rata atau maju daripada menemukan pengembang desktop rata-rata atau canggih.
Persepsi
Tidak ada yang akan menganggap Anda serius ketika Anda mengatakan "Saya seorang pengembang web". Ini untuk subkelas programmer, pengembang, bukan? Orang-orang yang Anda abaikan dan cemooh dari jauh, dan jangan bergabung ketika mereka pergi minum kopi. :)
Ini jelas tidak benar, tetapi ini berujung pada kenyataan bahwa Anda berkembang untuk lingkungan yang sebagian besar dikelola untuk Anda. Browser memperbaiki markup kacau Anda, gaya kacau Anda, dan bahkan akan memperbaiki skrip kacau Anda untuk beberapa dari mereka, dan mengoptimalkannya untuk Anda jika Anda mau. Dan jika Anda seorang pengembang web, orang tidak akan menganggap Anda memiliki petunjuk tentang pemrograman tingkat rendah, jadi Anda harus benar-benar idiot, bukan?
Dan kemudian mereka menyadari betapa rumitnya ECMAScript, tetapi akan menolak untuk meninjau pendapat mereka. Karena itu web. Kami tidak menyukainya secara intrinsik, kami hanya menyukai apa yang memungkinkannya kami lakukan.