Mengingat
- latar belakang bisnis
- dukungan masyarakat
- ekstensi yang tersedia
- serangkaian fitur standar
- kesederhanaan penggunaan
- dan keandalan
mengapa Anda lebih suka satu dari yang lain?
Mengingat
mengapa Anda lebih suka satu dari yang lain?
Jawaban:
Saya akan mencoba menambahkan informasi saya.
Seperti yang saya pahami, Google Closure tidak hanya perpustakaan JS lain, tetapi juga seperangkat alat yang akan memungkinkan Anda untuk mengoptimalkan kode JS Anda. Bekerja dengan jQuery memberi Anda alat bagus dan pustaka yang ringan, tetapi itu tidak mengecilkan kode Anda sendiri. The Penutupan compiler akan. The penutupan inspektur juga dapat berguna, sebagai kode kadang-kadang minified memiliki perilaku yang berbeda dari yang asli, dan rasa sakit untuk debug. Ini terintegrasi dengan Firebug dan unit test pendukung, yang merupakan teman baik pengembang saat ini.
Saya kira karena setiap perpustakaan baru VS yang sudah mapan, ia akan kekurangan ketersediaan banyak ekstensi dan tutorial yang dimiliki jQuery. Namun, didorong oleh Google harus memastikan bahwa dukungan dan keandalan keduanya cukup baik. Arus dokumentasi dan tutorial keduanya tampaknya benar-benar baik, juga.
Fitur-fitur dari Closure terlihat baik, dan arsitektur modularnya juga menjanjikan. Saya kira Google telah menggunakannya secara internal untuk waktu yang lama, yang berarti Anda dapat mengharapkan semua fitur dasar (dan banyak lagi) untuk diimplementasikan, dan mungkin dengan cara yang sangat optimal dan terukur. Mereka mencoba menyajikannya sebagai STL dari JavaScript, jadi mereka seharusnya memolesnya.
Setelah melihat fitur lebih dekat, tampaknya ini mungkin merupakan langkah maju untuk pengembangan aplikasi web dibandingkan dengan perpustakaan yang ada sebagai jQuery. Itu mengira itu menguntungkan perkembangan internal di Google, tetapi hal-hal seperti mendeteksi keadaan online (lihat goog.events.OnlineHandler ), integrasi mudah permintaan AJAX dan tindakan JS dalam riwayat browser (lihat goog.History ), atau legiun widget hebat mereka menyediakan (lihat paket goog.ui ) dapat membantu kita semua membangun webapp yang lebih mengagumkan;)!
Muncul dengan fitur templat yang terintegrasi dengan Java (siapa bilang GWT ?), Jadi ini juga bisa menjadi nilai tambah bagi Penutupan.
Akhirnya, tampilannya cukup sederhana untuk digunakan. Sintaksnya mungkin sedikit lebih bertele-tele daripada fungsi $ jQuery pendek, tetapi dengan IDE dan penyelesaian otomatis, ini bukan masalah nyata. Selain itu, saya katakan kita dapat mengharapkan integrasi yang baik dalam IDE seperti Eclipse, yang berasal dari Google.
EDIT: seperti yang diminta, izinkan saya mengatakan beberapa kata tentang referensi GWT. Google Web Toolkit adalah perpustakaan Java yang memungkinkan untuk membuat antarmuka web yang mendukung AJAX dan yang menghasilkan (dan mengoptimalkan) kode JavaScript yang diperlukan. Karena Google Closure memungkinkan untuk membuat Templat yang dapat digunakan baik pada sisi klien dan server (menggunakan JavaScript dan Java), tebakan saya adalah bahwa akan segera dimungkinkan untuk menggunakannya secara bersama-sama (jika belum terjadi).
Dalam pandangan singkat saya di API saya menemukan perbedaan antara jQuery dan Penutupan sangat mencolok.
jQuery pada dasarnya hanyalah cara yang disederhanakan untuk melakukan banyak operasi yang sering dilakukan dengan cara lintas browser.
Penutupan adalah kerangka kerja yang sangat baru, karena mereka menyediakan cara lintas-browser untuk menggunakan <canvas>
tag, misalnya, dan mereka telah menambahkan acara baru.
Jadi, ini menambah apa yang biasanya kita lakukan dengan javascript, mereka mengambil banyak operasi yang ingin dilakukan orang dan memasukkannya ke dalam API.
Misalnya, mereka memiliki acara untuk mengetahui apakah keadaan online telah berubah. Jadi Anda bisa tahu apakah sistemnya online.
Mereka memiliki fungsi javascript yang menggunakan alat-alat seperti Google Gears, yang berlanjut dengan fakta bahwa mereka telah memperluas apa yang dapat dilakukan dengan Javascript.
Saya perlu beberapa hari untuk mencerna semua perubahan, tetapi saya dapat melihat bahwa ini bisa berdampak besar pada aplikasi web yang dapat dikembangkan.
Keuntungan terbesar dari Closure Library adalah yang dirancang untuk Closure Compiler. Ini membuka kemungkinan yang sama sekali baru untuk pengembangan JavaScript ...
Kompiler memiliki beberapa fitur keren:
Untuk detailnya lihat di: http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
Sunting : lihat video youtube ini mungkin menjawab beberapa pertanyaan tentang Google Penutupan lebih baik.
Mungkin sumber informasi terbaik tentang penutupan google adalah grup diskusi proyek , wiki, halaman dokumen, demo dan buku yang belum selesai oleh Michael Bolin yang sekarang tersedia dari situs buku safari.
satu hal yang dapat saya katakan segera - ada kurva belajar yang lebih curam untuk closure
vs jQuery
tetapi mungkin layak karena luasnya perpustakaan, organisasi yang jelas dan manfaat menggunakannya bersama dengan kompiler dan alat templating.
closure
perpustakaan dalam hal itu lebih seperti dojo
daripada jQuery
, dan beberapa konsep dipinjam dari dojo
, menurut Michael Bolin.
Google closure compiler menggunakan JSDoc
sistem dokumentasi yang secara bersamaan (jika dibuat oleh programmer dengan benar) menyediakan dokumentasi dan memungkinkan menangkap banyak kesalahan pada waktu kompilasi.
sementara nama fungsi lebih verbose daripada jQuery
's, kompiler menyusut kode (menggunakan berbagai taktik optimasi) dan pengecekan tipe akan menghemat waktu debug kode, jadi waktu mengetik nama yang lebih panjang mungkin tidak menjadi masalah. Pada saat yang sama nama yang lebih panjang menambah keterbacaan.
perpustakaan mendukung browser yang berjalan dalam mode quirks sehingga skrip dapat disematkan oleh situs lain menggunakan "quirky" html
library bekerja dengan (tetapi tidak bergantung pada) sistem templating javascript yang disebut soy
yang menyederhanakan mengisi dokumen dengan konten.
seperti jQuery
Google closure
memungkinkan melintasi struktur dom dengan kueri berbasis string menggunakan komponen khusus perpustakaan.
closure
perpustakaan lebih bergantung pada ruang nama dot-delimited Java
- fitur organisasi yang sangat kuat.
menggunakan ruang nama seperti itu akan menimbulkan overhead dalam kode yang tidak dikompilasi, tetapi dalam kode yang dikompilasi hal-hal itu diganti dengan nama variabel pendek.
like jQuery google closure allows traversing dom structure with the string-based queries using a dedicated component of the library.
Bisakah Anda menautkan saya ke beberapa dokumentasi yang terkait dengannya?
goog.dom.DomHelper
, tapi saya pribadi tidak melihat fungsi kueri yang setara dengan jQuery. @ Evgeny: Bisakah Anda memberi kami detail lebih lanjut?
Saya baru saja memposting artikel yang cukup lengkap tentang Google Penutupan yang menjawab pertanyaan ini di insideRIA .
... Aturan penutupanz! ^ _ ^
Mungkin saya tidak mendapatkan jQuery, tapi saya belum melihat koleksi widget UI sebenarnya di sana (ada plugin, ya, tapi Anda tidak pernah tahu seberapa baik mereka diuji dan sering tidak ada pemenang yang jelas dan / atau kekurangan plugin dokumentasi).
Penutupan memiliki, antara lain, koleksi widget (lihat tab demo), termasuk, katakanlah, tombol tanpa bayangan yang digunakan dalam gmail.
Secara umum, ini memiliki lebih banyak fungsi diimplementasikan sebagai bagian dari rilis. Ini mungkin bukan hal yang besar, tapi saya jengkel dengan lautan plugin jQuery ketika saya mencari sesuatu yang sederhana seperti modul sejarah ajax atau autocomplete.
Secara keseluruhan itu adalah perpustakaan besar + set alat dan saya akan berkenalan dengannya hanya untuk mengetahui apa yang tersedia.
Saya menghargai sebagian besar kontribusi Google untuk komunitas open source dan saya yakin itu punya beberapa hal keren tapi secara keseluruhan saya menemukan Penutupan besar, terlalu padat, dan tidak bagus. Jika Anda harus mengubah semuanya menjadi Java, saya kira itu benar-benar keren.
Edit:
Cukup adil. Saya tidak benar-benar membandingkan. Penutupan seperti gudang raksasa dengan setiap alat yang mungkin Anda inginkan berada ... di suatu tempat. Semacam .NET atau perpustakaan Java besar. Setelah Anda menemukan yang Anda butuhkan, Anda dapat menemukan hal-hal yang sangat spesifik yang melakukan pekerjaan yang sangat spesifik. Dan kemudian untuk produksi, Anda dapat menghapus semua cruft.
JQuery di sisi lain, lebih merupakan obeng sonik yang mudah dimodifikasi.
Google Closure Library memungkinkan Anda untuk menyusun dan mengoptimalkan JavaScript Anda. Ini bukan perpustakaan seperti jQuery. jQuery adalah sesuatu yang memberi Anda fungsi yang memungkinkan Anda untuk menulis javascript Anda lebih cepat.
Google Closure akan membantu Anda membuat kode javascript sendiri diminimalkan untuk memungkinkan pengiriman lebih cepat melalui Internet.
Singkatnya, Google Closure adalah alat sementara jQuery adalah perpustakaan yang mirip dengan Prototype.