Tujuan saya adalah membuat aplikasi web!
Saya selesai membaca Buku "Headfirst - Java" dan "Headfirst - Servlets and JSP".
Karena topik (aplikasi web) ini sangat besar dan rumit, saya ingin bertanya apa yang harus saya pelajari selanjutnya. Saya merasa terlalu lelah ketika membaca semboyan seperti Java EE, EJB, JSF, JPA, Glassfish ... tapi saya tidak akan menyerah.
Adakah yang bisa memberi tahu saya bagaimana saya harus melanjutkan pembelajaran? Haruskah saya mengambil buku seperti ini: Memulai Java EE 6 Platform dengan GlassFish 3: Dari Pemula ke Profesional atau haruskah saya membuat beberapa tutorial Online?
Terima kasih!
java
jakarta-ee
web-applications
creativz
sumber
sumber
Jawaban:
Bahkan jika saya tahu ini akan menjadi kontroversial, saran saya adalah mulai dengan Java EE 6 saja. Jadi, ambil GlassFish v3 dan dapatkan buku Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional atau ikuti tutorial Java EE 6 . Menurut pendapat saya, buku (yang saya mulai baca jadi saya tahu apa yang saya bicarakan) memberikan lebih banyak panduan yang mungkin lebih disukai jika "semuanya" baru untuk Anda (mencakup platform Java EE dan API-nya dan lingkungan untuk membangun, menyebarkan aplikasi Anda).
Sekarang, seperti yang saya katakan, saya sudah bisa mendengar suara yang mengatakan hal-hal seperti "Java EE itu berat, gunakan Spring sebagai gantinya, pelajari Struts atau Wicket atau Stripes untuk lapisan presentasi, pelajari Hibernate untuk ketekunan, atau bukan karena saya tidak suka ORM, gunakan iBatis atau JDBC langsung sebagai gantinya (Anda akan lihat, keren dengan Spring, Spring sangat keren), dan gunakan Tomcat (dan mengapa tidak Jetty), atau JBoss, atau lupakan semua ini dan pilih Grails, dan bla bla bla ... " .
Tetapi menurut saya ini tidak benar-benar membantu Anda dan, tanpa bimbingan atau panduan (dan Anda tidak akan menemukan sumber daya unik yang tidak ketinggalan zaman yang mencakup semua kombinasi), ini pasti terdengar sangat membingungkan bagi seorang pemula.
Jadi, karena menurut saya Java EE 6 adalah peningkatan besar dari versi Java EE sebelumnya, karena menyediakan API standar yang sangat bagus untuk semua kebutuhan Anda (Servlet 3.0, JSF 2.0, JPA 2.0, EJB 3.1 lite, Bean Validation 1.0, CDI , dll), karena semua API ini lebih dari layak, karena tidak ada yang salah dalam mempelajarinya, karena ini sudah menjadi tugas besar, karena Anda harus memulai dari suatu tempat , saya akan fokus pada Java EE 6 saja dan melupakan kerangka kerja lain untuk saat ini. Lebih tepatnya, saya akan mulai dengan Profil Web Java EE 6 (dan kemudian menambahkan beberapa hal jika Anda ingin melangkah lebih jauh).
Dengan melakukan ini, 1) Anda akan memulai dan mempelajari hal-hal baru dan 2) Anda akan memberikan waktu kepada semua kerangka kerja dan / atau alat lain untuk beradaptasi dan membuktikan bahwa masih diperlukan. Dan jika ada, masih ada waktu untuk bereksperimen dengan para penyintas dan Anda akan dapat memahami lebih baik mengapa mereka ada.
sumber
Saran saya 1 adalah berhenti membaca buku dan mulai menerapkan sesuatu. Menurut pengalaman saya, belajar buku itu buruk sebagai pengganti pengetahuan yang Anda dapatkan dengan benar-benar melakukan sesuatu.
1 - Konteks: ini adalah nasihat untuk seseorang yang baru saja selesai membaca dua buku tentang topik tersebut, dan sedang mencari lebih banyak buku untuk dibaca. Dalam praktiknya, Anda perlu menyeimbangkan membaca dan melakukan. Terutama jika Anda memiliki masalah tertentu yang ingin Anda selesaikan.
sumber
reading
danpractice
.Java EE 6 benar-benar luar biasa. Satu-satunya masalah adalah usianya sekitar 2 minggu, dan saat ini hanya ada 1 wadah yang menawarkan fiturnya - Glassfish.
Saya tidak menentang Glassfish, saya menggunakannya di semua tempat, beberapa contoh produksi, saya suka produk dan proyeknya.
Meskipun demikian, detail Java EE 6 tidak diterjemahkan kembali ke Java EE 5. Beberapa melakukannya, banyak yang melakukannya, tetapi Profil Web, Servlet 3.0, jenis Bean baru, JPA 2, dll. Itu tidak ada.
Jadi, dengan mempelajari Java EE 6 terlebih dahulu, Anda cukup membatasi diri Anda pada satu wadah. Lebih banyak lagi yang akan datang, tapi mereka belum datang.
Tomcat, JBoss, OpenEJB, Glassfish, Jetty, Resin, Geronimo, dll. Semuanya bekerja dengan baik dengan spesifikasi Java EE 5 (setidaknya bagian dari spesifikasi yang mereka dukung, Tomcat tidak memiliki EJB misalnya).
Saya tidak dapat memikirkan apa pun di Java EE 5 yang tidak dibawa ke Java EE 6. Java EE 6 membuat beberapa aspek yang sangat lama opsional, dan yang tidak akan Anda pelajari hari ini. Java EE 6 membuat beberapa hal Java EE 5 menjadi lebih mudah (khususnya pengemasan, EJB Lite misalnya).
Pelajari Java EE 5 sekarang sehingga Anda benar-benar dapat menerapkan apa yang Anda pelajari di berbagai lingkungan, daripada mempelajari Java EE 6 sekarang dan menemukan Anda mungkin tidak dapat menggunakan banyak dari apa yang Anda pelajari.
Tidak ada satu buku pun yang akan mengajari Anda apa yang perlu Anda ketahui. Servlet, misalnya, adalah fondasi yang bagus, tetapi untuk apa pun yang lebih besar dari beberapa halaman atau titik akhir, Anda akan ingin menggunakan salah satu dari banyak kerangka kerja pihak ketiga, atau JSF, dan tidak ada buku yang membahas inti dan kemudian kerangka kerja di atasnya dari itu.
Tutorial Java EE 5 bagus untuk menurunkan fondasinya, keluhan utama saya adalah mereka tidak menunjukkan kode sumbernya kepada Anda. Sebaliknya mereka mengharapkan Anda untuk mengunduh dan menjalankannya. Itu tidak dibahas dalam tutorial. Saya telah menemukan buku Head First cukup bagus.
Untuk pemrograman web, Servlet mentah cukup penting hanya untuk memahami siklus permintaan / respons, tetapi Anda tidak memerlukan pemahaman yang mendalam untuk melakukan lompatan ke kerangka pihak ketiga.
Saya penggemar berat kerangka kerja Stripes for a Action (vs kerangka kerja komponen), dan satu buku Stripes yang tersedia sangat bagus (menjadikannya pilihan yang mudah).
Saya tidak bisa menyarankan buku kerangka kerja Komponen, dan saya sebenarnya tidak akan langsung merekomendasikannya. Kerangka komponen benar-benar mengubur permintaan inti HTTP / struktur respons. Mereka menguburnya karena suatu alasan, dan mendapatkan nilai dengan menguburnya, tetapi saya yakin agar efektif, Anda harus memiliki pemahaman yang kuat tentang konsep ini sejak dini. Itu sebabnya saya tidak menyarankan mempelajari kerangka kerja Komponen terlebih dahulu.
Kerangka kerja JAX-RS REST, termasuk dalam Java EE 6, tetapi siap dipasang di Java EE 5 atau wadah servlet apa pun, sangat baik. Bisa dibilang itulah yang seharusnya dilakukan Servlet 3.0. Tapi saya tidak tahu buku apa pun untuk itu.
sumber
Untuk Tomcat, baca manual di situs web. Ini sangat bagus. Khususnya, beberapa bab pertama tentang organisasi dan penerapan aplikasi web, dan bab-bab tentang Servlets API dan JSP.
Untuk Spring, buku Manning Spring in Action sangat bagus. Demikian pula untuk Hibernate (buku Manning), tetapi menurut saya Hibernate sebagian besar berada di luar cakupan aplikasi web. Tapi panggilanmu.
Gawang - Buku Manning juga. Tapi sungguh, cukup tulis kode front-end Anda dalam Javascript. Sakitnya akan berkurang, IMO.
sumber
Saya tidak akan berkomentar tentang teknologi lain tetapi jika Anda ingin belajar Hibernate, dapatkan "Hibernate Made Easy" oleh Cameron McKenzie (www.hiberbook.com). Layak setiap sen. Anda dapat menyelesaikan membaca buku itu dalam 2 hari (secara harfiah). Ini seperti sebuah novel dan pada akhirnya Anda menemukan diri Anda berurusan dengan Hibernate seperti Semi-Pro.
sumber
Jpassion menyediakan video dan materi yang bagus untuk mempelajari Java EE 6 dan hal lainnya.
Anda juga harus melihat contoh aplikasi:
sumber
Jika Anda hanya ingin membuat aplikasi web di Java, lihat Play Framework . Ini mirip dengan "Ruby on Rails"
sumber