Pertanyaan untuk semua guru GWT di luar sana - mana yang merupakan perpustakaan widget GWT terbaik di luar sana? Dan mengapa?
Daftar berdasarkan jawaban:
- Default
- Sencha GXT
- GWT pintar
- Vaadin
- GWT-Bootstrap
- GwtBootstrap3
- Rocket GWT (tidak aktif)
- Tatami (tidak aktif)
- ErraiFramework
- GWTMaterialDesign
И наконец- новое поколение основанное на JsInterop :
Jawaban:
Jangan mengikat diri Anda ke salah satu perpustakaan ini. Gunakan Vanilla GWT untuk membuat struktur proyek Anda. Secara khusus, gunakan pola MVP dan Event Bus. Silakan, lihat artikel google untuk mengetahui cara terbaik merancang aplikasi klien Anda dengan GWT: Membangun aplikasi MVP
Setelah itu, Anda dapat menggunakan widget apa pun dari pustaka ini (misalnya tabel, atau kotak kombo, pemilih data, dll) dan menggabungkannya ke proyek Anda. Coba gunakan komponen tambahan HANYA jika Anda tidak melihat cara untuk melakukannya dengan vanilla GWT. Dengan cara ini Anda tidak mengikat diri Anda ke pustaka ini yang SELALU merepotkan ketika Anda mencoba melakukan sesuatu yang tidak muncul di aplikasi demo, mengandung banyak bug dan dukungannya sangat buruk.
Cara mencari widget harus mengikuti urutan berikut:
Hati-hati dengan perpustakaan lain, saya telah bekerja dengan mereka (dan masih mengalami mimpi buruk).
sumber
Tergantung apa yang Anda maksud dengan "terbaik". Penampilan terbaik? API terbaik? Terbaik untuk memperluas kebutuhan khusus Anda sendiri?
Misalnya, saya baru saja mengevaluasi kelas tabel untuk digunakan dalam aplikasi kita. Kami telah menggunakan GWT-Ext, tetapi memiliki banyak masalah kinerja bagi kami, dan sangat sulit untuk mendapatkan ukuran tabel sesuai kebutuhan kami. Saya hampir saja menggunakan GWT-Mosaic , tetapi memutuskan untuk membangun widget di GWT Incubator .
Jadi, mengapa saya membuat pilihan ini? Tampaknya terlalu banyak perpustakaan di luar sana datang dengan milik mereka sendiri, karena kurangnya kata yang lebih baik, bagasi. Entah Anda harus menyelami keseluruhan kerangka kerja MVC (yang mungkin tidak sepenuhnya kompatibel dengan basis kode Anda lainnya), atau Anda harus mengadopsi sistem tata letak model baru seseorang, atau Anda harus hidup dengan fakta bahwa Anda tidak bisa benar-benar men-debug kode (karena ini hanya pembungkus JSNI).
Jangan salah paham, Inkubator GWT tidak sempurna ... widget ada dalam sejumlah fluks. Dalam kasus saya, ini adalah pilihan terbaik. Ini memberi saya kebaikan (tapi jelas tidak sempurna):
Jadi ... jawabannya (bagi saya) adalah kombinasi dari:
(Saya harus menambahkan: "bagasi" yang saya maksud tidak selalu berarti buruk. Tetapi, jika Anda hanya menginginkan satu atau dua widget, ini dapat meningkatkan standar tentang apa yang diperlukan untuk menyelesaikan pekerjaan Anda dan bagaimana baik penampilan aplikasi Anda.)
sumber
Lihat pustaka komponen ini GWT Bootstrap ini adalah implementasi di gwt Twitter Bootstrap.
sumber
GWT sendiri adalah perpustakaan yang cukup bagus.
Saya tidak menggunakan semua yang disebutkan tetapi dapat merekomendasikan Ext GWT .
sumber
Saya lebih suka vanilla GWT. Beberapa API lain terlihat cantik dan tampilan mereka benar-benar memamerkan widget, tetapi saya selalu menemukan bahwa kinerjanya bukan yang terbaik .... ketika saya mengatakan kinerja yang saya maksud lebih seperti waktu respons. Saya benci jika aplikasi terasa lamban.
sumber
Sebagian besar pustaka yang disebutkan bukan open source dan bahkan lebih buruk lagi: hanya pembungkus di atas pustaka JavaScript. Kekuatan GWT terletak pada kenyataan bahwa aplikasi bekerja pada browser yang berbeda (karena pembuatan kode khusus untuk browser "besar"). Pustaka yang mendasari JavaScript ini dapat menyebabkan banyak masalah.
Saya setuju dengan jgindin GWT Incubator dan GWT Mosaic adalah yang terbaik sejauh ini.
sumber
Bukan mengatakan itu "yang terbaik", tapi saya telah menggunakan GWT-Ext di tempat kerja belakangan ini. Ada beberapa pro dan kontra:
Kelebihan:
Kekurangan:
sumber
JANGAN gunakan salah satu dari mereka! Jika Anda berencana untuk mengembangkan aplikasi skala besar, Anda harus mempertimbangkan untuk menggunakan pola MVP. Implementasi terbaik di sekitar adalah kerangka kerja MVP4G , ini mendukung pemisahan kode GWT di luar kotak. Ada banyak contoh bagus, Anda bisa memulainya. Yang paling berharga adalah Mvp4GModules.
sumber
Tambahkan yang baru: GWT-Bootstrap :)
Tidak ada rilis stabil saat ini, tetapi akan segera dirilis.
sumber
Pengalaman saya menunjukkan bahwa selalu ada banyak masalah dengan perpustakaan pihak ketiga. Cara terbaik - adalah dengan menggunakan teknologi terkenal dan buatan itu sendiri ditambah komponen Anda sendiri. Mungkin perlu waktu lebih lama untuk menulis dan memeliharanya, tetapi TCO selalu di level yang lebih rendah.
Perpustakaan pihak ketiga sering kali dapat merusak rencana Anda secara tidak terduga. Dan sulit untuk menemukan dan memperbaiki sumber masalahnya.
Jadi saya sarankan untuk menggunakan GWT biasa.
sumber
Saya pikir SmartGWT baik-baik saja jika Anda hanya ingin menggunakan Widget sebagaimana adanya, tetapi jika Anda ingin memperluas atau memodifikasi widget seperti yang saya lakukan di Gxt Scheduler, saya pikir Ext-GWT adalah pilihan yang lebih baik.
sumber
bagi saya EXT-GWT (alias GXT) adalah pustaka terbaik yang tersedia saat ini, saya menggunakannya dalam proyek 6 bulan, dan sangat membantu dengan banyak komponen yang telah ditentukan seperti kisi, pohon .... Juga indah
sumber
SmartGWT adalah pustaka yang bagus dan memiliki banyak contoh tetapi antarmuka penggunanya tidak begitu mulus. Untuk antarmuka pengguna Ext GWT sudah bagus.
sumber
Grup pengguna gwt-mosaic tampaknya tidak terlalu aktif dan saya tidak dapat menemukan panduan pengguna selain cuplikan wiki. gwt-mosaic memperkenalkan saya pada dua alat yang menarik.
1) gwt-mosaic menyertakan pembungkus untuk Tibco's PageBus yang merupakan alat publikasi / langganan untuk bagian JS aplikasi Anda (penangan RPC, panggilan balik widget, penyetel widget). Ini adalah alternatif bus acara gwt.
2) gwt-mosaic mendorong penggunaan Beans Binding (http://code.google.com/p/gwt-beans-binding/) untuk mengikat data ke widget dan memvalidasi widget.
smartgwt tidak murah untuk set fitur lengkap dan dukungan. Stoples terlalu besar untuk appengine kecuali Anda menghapus file tema yang tidak Anda gunakan. Mereka juga menginvestasikan teknik di sisi server.
Saya pernah mendengar ext-gwt lamban dan file JS berukuran besar.
Inkubator widget gwt tampak tidak digunakan lagi. Saya yakin grid deluxe akan dirilis dengan gwt baru.
Kurangnya standar tampilan-dan-rasa, pengikatan, dan validasi menghambat interoperabilitas pustaka widget.
sumber
Jelas bukan SmartGWT. Kerangka mereka membengkak dan memiliki sifat yang sangat setengah matang. Mereka memiliki jutaan widget, tetapi mencoba membuatnya berfungsi untuk proyek Anda tidaklah mudah. Sumber data mempersulit proses pengelolaan data Anda dengan cara yang sangat besar, misalnya, untuk mendapatkan data di sumber data Anda, Anda harus menggunakan fecth dan sering memeriksa. Meskipun Anda dapat menyimpan hasil dalam cache, tidak selalu mudah untuk menginterogasinya.
RPC adalah area lemah dan berbelit-belit lainnya. Ada informasi yang bertentangan dalam dokumentasi dan di forum. Sementara dokumentasi akan mengatakan bahwa Anda sebaiknya jarang menggunakan operasi kustom sebagai bagian dari ds, forum mereka akan memberi tahu Anda bahwa itu baik-baik saja. Belajar menggunakan alat-alat ini secara efektif merupakan pendakian yang menanjak di hari-hari terbaik.
Mereka akan menjual terlalu banyak produk. Misalnya, paket pembuatan bagan / analitik berisi grafik ... Tetapi grafik tersebut tidak akan menampilkan nilai negatif atau membiarkan Anda memanipulasi label sumbu dengan cara yang berarti. Dan mereka secara terbuka menanggapi pertanyaan tentang hal ini di forum dengan sikap "ya jadi apa". "Kami tidak berencana menambahkannya ke 3.0x meskipun itu salah satu nilai jual kami, itu ada di peta jalan kami." Ketika mereka menjual paket itu kepada saya, mereka tidak pernah menyebutkan bahwa saya tidak dapat menunjukkan nilai-nilai negatif. Betulkah? Grafik apa yang tidak perlu menunjukkan nilai negatif? Saya hanya bisa memikirkan satu - yang menggambarkan jumlah pelanggan Isomorfik yang tidak bahagia.
Jauhi orang-orang ini, dan kunjungi situs pesaing mana pun, misalnya ExtJS, JQuery, bahkan quxdoo. Ada beberapa proyek di luar sana yang benar-benar mulai berkembang dan benar-benar menawarkan solusi yang baik.
Berhati-hatilah jika Anda pernah mengevaluasi produk ini. Kelihatannya bagus, tetapi sekitar dua minggu setelah proyek menggunakannya, Anda akan mulai melihat apa yang saya maksud. Widget setengah matang, sumber data sangat rumit, dan hanya karena Anda membayar untuk dukungan forum, tidak berarti Anda benar-benar akan mendapatkan apa pun selain sinis, jawaban merendahkan yang pada awalnya akan membuat Anda mengira Anda melewatkan sesuatu. Anda tidak melakukannya, mereka umumnya sangat sombong.
Semoga sukses, dan jauhi produk ini jika Anda menghargai waktu pengembangan dan pemeliharaan Anda. Oh dan satu hal lagi. Lihat contoh MVC di situs web mereka. Ini benar-benar tidak ada hubungannya dengan MVC selain label bertuliskan "MVC". Mereka akan mencoba meyakinkan Anda bahwa kerangka kerja seperti itu untuk pengembang yang tidak berpengalaman, dan bahwa konsep seperti itu tidak memiliki tempat dalam pemrograman nyata ... Mirip seperti mereka yang mencoba menangkap blok.
sumber
Perpustakaan default Google adalah perpustakaan paling kuat.
Ext GWT menambahkan lonceng dan peluit tetapi selain itu mirip dengan Google.
sumber
Saat ini kami menyukai widget Mosaik GWT . Kami telah bekerja dengan ext-JS dan sebelumnya kami telah meluncurkan widget kami sendiri. lisensi ext-JS dan massal adalah masalah bagi kami. Menggulung milik kita sendiri bukanlah yang ingin kita lakukan. Mosaic memberi kita jalan tengah yang menyenangkan yang menurut kita akan menjadi jalan tengah yang lebih bahagia saat proyek ini matang.
sumber
Saya akan mengatakan jika Anda hanya membutuhkan beberapa widget, maka buat sendiri. Anda mungkin menyalin-tempel beberapa konsep dari pustaka yang disebutkan. Tapi mereka semua kekurangan satu atau lain hal. Saya telah bermain dengan sebagian besar dari mereka dan meninggalkan semuanya.
sumber
Satu hal yang harus diperhatikan adalah dari forum-forum GWT-Ext sepertinya tidak akan banyak dikembangkan / dipelihara lagi (mungkin tidak sama sekali?). Di situs web mereka, mereka merekomendasikan bermigrasi ke SmartGWT .
sumber
Tidak melihat yang ini disebutkan, Vaadin (sebelumnya dikenal sebagai IT Mill Toolkit), tetapi mungkin itu karena secara teknis tidak persis GWT; seperti yang dikatakan FAQ mereka :
sumber
smartGWT lambat dan contoh kurang dan sangat sulit untuk menemukan jawaban bahkan untuk pertanyaan dasar, yaitu lihat semua pertanyaan saya yang tidak terjawab di forum ini. Saya membuang smartgwt.
sumber
Perbandingan dua EXT di sini dengan pro dan kontra.
sumber
Kami telah membangun portal HR yang besar dan beberapa aplikasi yang lebih kecil menggunakan GWT Portlets . Fokus proyek ini tidak terlalu banyak pada membangun kumpulan widget tetapi pada pembuatan model pemrograman sederhana.
Dari situs web:
GWT Portlets adalah kerangka kerja web sumber terbuka gratis untuk membangun aplikasi GWT (Google Web Toolkit). Ini mendefinisikan model pemrograman yang sangat sederhana & produktif, namun kuat untuk membangun aplikasi GWT modular yang bagus.
Model pemrograman agak mirip dengan menulis portlet JSR168 untuk server portal (Liferay, JBoss Portal, dll.). "Portal" adalah aplikasi Anda yang dibuat menggunakan framework GWT Portlets sebagai pustaka. Fungsionalitas aplikasi dikembangkan sebagai Portlet yang digabungkan secara longgar masing-masing dengan DataProvider sisi server opsional.
sumber
Saya menggunakan GWT selama satu tahun. Setelah banyak penelitian, saya memutuskan GWT Mosaic sebagai pustaka widget .. Mosaic menggunakan beberapa komponen inkubator GWT seperti PagingScrollTable .. Tetapi fitur combobox dan tabel tidak mencukupi untuk kami .. Itulah sebabnya, kami memiliki memperluas komponen ini untuk menambahkan fungsionalitas yang diperlukan.
sumber
Lihat SpiffyUI: www.spiffyui.org
Ini bukan hanya pustaka widget tetapi kerangka kerja UI / UX GWT yang kompleks.
sumber
Dua hal penting -dan apa yang terlewatkan oleh sebagian besar perpustakaan- adalah pengujian unit dan debugging. Di sinilah GWT bersinar. Jika Anda menggunakan pustaka yang didasarkan pada vanilla js, Anda memberikan kemampuan untuk menguji unit dan men-debug proyek Anda. Sebagai pengembang GWT, Anda harus mempertimbangkan poin-poin ini dan menggunakan perpustakaan tanpa ketergantungan js atau minimal.
sumber
Kami telah melakukan proyek gwt selama lebih dari 2 tahun, dan kami tetap menggunakan widget default. Kami membuat perpustakaan sumber terbuka kami sendiri untuk mengisi otomatis yang default atau ekstensi widget kami sendiri. Silakan periksa, namanya gwt-jet . Ini telah diuji dengan sangat baik karena kami menggunakannya di lingkungan produksi yang besar, dan kami berharap ini akan tumbuh dengan aman seiring waktu.
sumber