Kapan Java merupakan pilihan yang baik untuk pengembangan web?
Tolong jangan katakan "Ketika Anda memiliki tim pengembangan yang hanya tahu Jawa."
Kapan Java merupakan pilihan yang baik untuk pengembangan web?
Tolong jangan katakan "Ketika Anda memiliki tim pengembangan yang hanya tahu Jawa."
Jawaban:
Mengingat banyak kerangka kerja yang tersedia, kematangan platform dll, saya tergoda untuk mengatakan "hampir selalu". Jadi, inilah beberapa alasan mengapa Anda sebaiknya tidak menggunakan Java:
Java adalah digunakan dalam website kecil dan menengah. Poin penting adalah bahwa ada jauh lebih sedikit hosting web gratis untuk situs web Java daripada untuk misalnya PHP, yang berarti bahwa kecuali Anda memiliki sumber daya yang cukup untuk meng-host server web Anda sendiri, Anda mungkin tidak akan memilih Jawa.
Perhatikan bahwa dengan Java EE 6, terutama profil web, ada banyak teknologi standar termasuk yang dapat membuat aplikasi web yang sangat kuat tanpa harus banyak kode. Sayangnya ini belum mainstream.
Perhatikan bahwa ini agak berubah baru-baru ini dengan Google Application Engine yang memungkinkan Anda untuk menyebarkan aplikasi web Java standar (dengan beberapa batasan) di cloud secara gratis untuk situs dengan lalu lintas rendah hingga sedang.
Ketika platform Anda adalah UNIX / Linux dan Anda memerlukan seperangkat alat yang kaya, seperti Pemetaan Objek / Relasional, Keamanan, orkestrasi Kompleks Layanan Web, dll.
(Kami tidak berbicara tentang situs web sederhana, bukan?)
Setiap kali tim Java lain membuat saya kesal, saya langsung meledak dengan mencari pertanyaan seperti ini. Biarkan saya ulangi. Saya seorang klien sisi dev dan telah hampir 5 tahun sekarang. Saya telah bekerja di situs mulai dari satu-sebagian besar konten-microsites, ke situs sebesar Sears, ke situs-jenis aplikasi yang lebih canggih di mana keahlian UI yang sangat mendalam diperlukan. Saya telah berurusan dengan Rails, PHP, formulir web .net (ew), .net MVC (jauh lebih baik) dan pengaturan buket solusi Java untuk pengembangan web disertai oleh devs dan tim yang semuanya telah menyelesaikan bencana untuk ditangani. Saya juga menulis sedikit Python dan mulai menggali Django.
Pengalaman saya dengan tim Java secara universal mengerikan. Alat selalu PITA. Para devs tidak pernah mau percaya bahwa mereka melakukan kesalahan dan meminta mereka untuk menyelidiki kembali wilayah mereka sendiri begitu Anda mengesampingkan masalah di ujung Anda seperti mencabut gigi. Korban pertama dari berurusan dengan tim Java dalam pengalaman saya adalah waktu pengembangan dikonversi ke waktu e-mail menulis beberapa penjelasan panjang lebar tentang mengapa masalahnya jelas pada akhirnya. HTML umumnya bukan masalah mereka kecuali Anda benar-benar ingin kontrol atasnya. Maka semuanya cenderung pergi ke neraka pada akhirnya karena Anda benar-benar ingin memindahkan beberapa div tingkat atas.
Ada hal-hal tentang bahasa yang saya tidak suka, tetapi saya pikir masalah sebenarnya adalah budaya dan fakta bahwa penerimaan begitu luas, Anda memiliki satu ton biasa-biasa saja di tengah. Budaya yang saya curigai muncul dari cara Jawa dipasarkan. Tulis sekali, sebarkan di mana-mana. Terjemahan: "Anda hanya perlu belajar satu hal!" Orang-orang yang menemukan bahwa menarik pada dasarnya ingin menggunakan Jawa seperti palu raksasa untuk setiap paku dengan minimal mengasah kerajinan mereka dalam hal pengembangan web.
Jadi jika Anda memiliki pengembang yang tahu bahasa Jawa dan bahasa lain tetapi masih lebih suka Java, saya akan mengatakan, ya, silakan saja jika sepertinya solusi yang tepat. Tetapi jika Anda memiliki pengembang Java yang mengenal Java dan yang lainnya nyaris tidak memenuhi kriteria untuk menjadikannya sebagai poin penting dalam resume mereka, minta mereka membuat aplikasi sederhana dengan berbagai halaman semi-kompleks di ujung HTML dan coba ini tes sederhana. Hancurkan beberapa HTML. Cobalah untuk membuat mereka mencari tahu apa yang salah. Jika masalah langsung yang mulai mereka selesaikan adalah mengalihkan kesalahan dari diri mereka sendiri, jauhkan mereka! @ # $ Dari pengembangan web. Web dev bersifat multidisiplin dan membutuhkan minat aktif di bidangnya untuk menjadi sukses. Ini bukan tempat bagi orang yang hanya ingin memiliki pengetahuan tentang satu bahasa dan lebih takut dengan masalah daripada tertarik untuk menyelesaikannya.
Saya tidak menyatakan bahwa Jawa itu sendiri adalah akar dari ketidakmampuan dan saya pernah mendengar Spring itu bagus. Saya yakin ada tim Java yang kompeten di luar sana. Saya hanya belum bertemu satu dan saya tidak berpikir itu kebetulan. Saya pikir Sun ada banyak hubungannya dengan itu. Saya juga berpikir menjalankan tim web seperti atau di bawah departemen TI ada banyak hubungannya dengan itu.
Java baik-baik saja untuk situs web kecil, Anda bisa mendapatkan halaman JSP bekerja sangat cepat dengan server web Java seperti Tomcat , misalnya.
Meskipun dalam pengalaman saya, Java lebih umum untuk situs web besar di mana ada kebutuhan yang lebih besar untuk pemrosesan sisi-server yang kompleks - dalam hal ini Anda akan menemukan kerangka kerja Java yang lebih canggih yang digunakan seperti JavaServer Faces (JSF).
Penting untuk dicatat bahwa instalasi penuh Java secara historis tidak tersedia di banyak pengaturan hosting web murah, sehingga dapat menjelaskan prevalensi bahasa lain seperti PHP di lingkungan ini.
Alasan utama untuk menggunakan Java dalam pengembangan web adalah sebagai berikut:
Secara teknis:
Jika saya memulai aplikasi web, saya akan menggunakan Ruby on Rails dan desain sedemikian rupa sehingga hotspot bisa ditukar ketika RoR mencapai batas skala kinerjanya.
Java memiliki bau COBOL dan "pembuat kode kelas atas menggunakan Java", dan kegagalan Oracle tidak membantu reputasinya. Jika Anda punya pilihan , pilih bahasa yang menarik para devs top.
Sangat sederhana: gunakan Java ketika kinerja back-end adalah masalah utama. Ada lebih banyak overhead saat pengkodean tetapi kode akan dieksekusi dalam 1/200 ke 1/500 dari waktu - secara harfiah. Php, Ruby, dan bahasa yang diketik secara dinamis lainnya akan selalu lebih lambat dari server java atau .net.
Sebagian besar solusi untuk web tidak memerlukan ini. Twitter tidak meninggalkan Rails sampai mereka mulai memuncak dalam popularitas misalnya.
Bukan satu-satunya alasan, tetapi dengan semakin populernya membangun situs web dengan ujung depan seperti aplikasi yang canggih sementara masih memiliki logika melakukan 'barang' kembali di server - tidak ada alasan yang diperlukan untuk menjelaskan mengapa Java setidaknya sama dengan yang lain pilihan di ujung server. Tetapi pada akhir klien, jika ada javascript akan dengan cepat berubah menjadi mimpi buruk pemeliharaan kode dan dengan memanfaatkan GWT untuk menjaga hal-hal tersebut agar Anda dapat membuat kode di Jawa, Anda dapat memiliki yang terbaik dari kedua dunia dengan server Anda melakukan pekerjaan berat dan prosesor klien memberi mereka 'pengalaman'. Belajarlah untuk mengintegrasikannya dengan sesuatu seperti jQuery dan Anda dapat memiliki semua permen mata yang Anda inginkan juga.
Bukan jenis ahli tentang alternatif, tetapi jika orang lain dapat mengajukan satu dengan jenis fleksibilitas dan luas yang sama, senang mendengarnya.
Alasan utama mengapa saya akan memilih java adalah jika Anda perlu menggunakan transaksi terdistribusi, yang dapat menjadi perhatian besar bagi banyak perusahaan. Namun Anda masih dapat menggunakan bahasa skrip favorit Anda untuk pengembangan web, dan hanya mendelegasikan pekerjaan ke java saat Anda membutuhkan kecepatan / transaksi terdistribusi.
Saya percaya itu akan terjadi ketika aplikasi Anda akan menjadi sangat kompleks, dengan banyak orang mengembangkannya, dengan banyak modul yang kompleks, logika bisnis yang kompleks dan harus berkomunikasi dengan banyak aplikasi perusahaan lainnya.
Bagaimanapun, Anda juga bisa mengembangkan di Grails, yang menyediakan banyak fitur bagus, memudahkan banyak pengembangan dan jatuh tempo sangat cepat.
Java ok, tetapi jika kinerja tidak terlalu penting, Anda bisa mendapatkan hasil yang sama dengan sedikit upaya dalam bahasa lain.
Java adalah bahasa yang diketik secara statis, dan lebih murah daripada bahasa yang diketik secara statis yang digunakan untuk pengembangan web, yaitu C # dan VB.net, jika perusahaan Anda tidak memiliki langganan MSDN. Bahasa yang diketik secara statis baik untuk proyek sedang hingga besar, aturan domain yang rumit, dan banyak kode back-end, karena Anda dapat mengatur kelas dan IDE Anda dengan lebih baik akan membantu Anda menemukan kesalahan dalam kode Anda.
Dengan bahasa yang diketik secara dinamis, seperti PHP, Python, Ruby, pengembangan Anda akan jauh lebih cepat, tetapi Anda harus menguji kode Anda jauh lebih baik. Jika Anda tidak punya banyak waktu dan uang dan kebutuhan Anda berubah dengan sangat cepat dan Anda tidak harus melakukan perhitungan yang sangat rumit, bahasa yang dinamis jauh lebih baik.
Keamanan
Alasan utama perusahaan besar memilih Jawa daripada solusi lain adalah karena dianggap jauh lebih aman.
Ini terutama karena didukung oleh perusahaan besar (sekarang oracle).
Harus dipertimbangkan bahwa Jawa menawarkan tingkat keamanan yang sangat tinggi dan dukungan serta analisis yang sangat baik (meskipun harganya mahal).