Pertama, tulang paling sederhana dari proyek yang ingin saya buat adalah mesin wiki yang diimplementasikan sebagai aplikasi web satu halaman. Saya berencana untuk memiliki satu set fitur yang tersedia sejak awal dengan banyak penambahan fitur di masa mendatang.
Fitur dasar
- pembuatan halaman (membuat artikel wiki dan forum diskusi untuk artikel itu)
- markup dan WYSIWYG ala markitup
- konversi on-the-fly antara markup / html / WYSIWYG
- bilah samping untuk navigasi cepat
- toolbar atas untuk memilih edit / view
Fitur lanjutan
- bilah samping yang dapat dikonfigurasi untuk menavigasi melalui metode yang berbeda
- toolbar yang dapat dikonfigurasi (mungkin menambahkan bahasa markup pilihan)
- tag
- rencana yang dapat diedit
- seret dan lepas unggahan file dan lampiran gambar
Mesin awalnya terdiri dari pembuatan halaman paling dasar, markup dan pengeditan WYSIWYG, serta penyimpanan. Saya akhirnya ingin memperluas mesin dasar ini dengan dukungan gambar seret dan lepas, unggahan file, grafik data langsung, dan bilah sisi untuk menyesuaikan tampilan.
Saya telah melakukan pencarian yang cukup ekstensif untuk proyek yang layak untuk mendasarkan proyek saya, tetapi selain TiddlyWiki tampaknya tidak ada mesin wiki berbasis javascript yang bagus. Saya juga mempertimbangkan untuk menerapkan Jquery di atas mesin wiki yang ada, tetapi saya yakin pada akhirnya saya akan menulis ulang juga (Ditambah lagi hanya lebih menarik untuk menambahkan fitur yang saya inginkan saat saya pergi). Either way saya telah sampai pada mengimplementasikan binatang ini dengan javascript library + framework.
Saya tahu bahwa seseorang tidak dapat benar-benar membandingkan beberapa kerangka kerja ini satu sama lain karena mereka sangat berbeda dengan apel. Saya telah mencoba untuk membingkai komentar / pertanyaan perbandingan apa pun terhadap bagian-bagian yang sebanding dari kerangka kerja masing-masing tetapi saya terbuka untuk dikoreksi.
Jadi ini dia:
Berdasarkan penelitian dan pendapat saya sendiri, saya telah mempersempit daftarnya menjadi item di bawah ini. Saya sengaja meninggalkan hal-hal seperti SproutCore, corMVC, YUI, dan lainnya karena saya, dalam kapasitas saya yang terbatas, mengira item di bawah ini akan lebih cocok.
Pilihan Saya
jquery / UI + backbonejs
Secara keseluruhan
Dari apa yang saya baca, kombinasi ini digunakan dan dicintai oleh banyak orang serta sangat fleksibel dan dapat diperluas. Perhatian utama saya adalah bahwa kombinasi ini bukanlah titik lompatan terbaik untuk mengembangkan antarmuka UI yang lebih berorientasi desktop.
UI
Meskipun jQueryUI atau jqueryTools mungkin kompetitif, mereka tampaknya tidak setara dengan kemampuan UI framework lain. Secara khusus mereka tampaknya berat pada efek tetapi kurang pada dukungan pemotongan tata letak yang layak.
javascriptMVC
Secara keseluruhan
JavascriptMVC bagi saya terlihat seperti ekstensi jquery + MVC (jqueryMX), bersama dengan beberapa aplikasi lain untuk mendokumentasikan (documentJS), tes fungsional (funcUnit), dan kode dan manajemen ketergantungan (stealJS). Di luar manfaat modul tambahan, saya pikir debat fungsional benar-benar bermuara pada backbonejs vs. jqueryMX Apakah saya benar dalam hal ini dan apakah ada yang bekerja dengan atau membandingkan keduanya?
UI
JavascriptMVC menambahkan item MXUI di atas apa pun yang tersedia untuk Jquery jadi saya pikir setidaknya itu adalah sedikit kemenangan dalam kategori itu.
knockoutjs
Secara keseluruhan
Pemikiran dan perhatian saya tentang hal ini sangat mirip dengan komentar jquery + backbone. Keduanya tampaknya menawarkan fitur serupa tetapi hanya dari perspektif yang berbeda. Kelemahan yang sering dikutip adalah bahwa knockoutjs memasangkan logika bisnis dan presentasi terlalu erat dengan data-bind's dan bahwa metode pengikatan ini dapat rusak untuk interaksi UI yang kompleks, tetapi saya ingin sekali mendengar mengapa itu bukan masalah.
UI
Kosong saat ini
Dojo & ExtJS
Secara keseluruhan
Saya akan menggabungkan diskusi Dojo dan ExtJS karena saya tahu sedikit tentang mereka dan mereka tampaknya bermain di ruang yang hampir sama. Sebagian besar informasi tentang stackoverflow tentang keduanya tampaknya sudah kedaluwarsa. Dari apa yang saya lihat adalah bahwa keduanya adalah kerangka kerja besar yang bagus untuk implementasi aplikasi kaliber desktop. Dojo telah dimarahi karena dokumentasi yang buruk tetapi tampaknya tidak lagi demikian. ExtJS tentu saja memiliki lisensi komersial, tetapi sangat masuk akal untuk apa yang Anda dapatkan dan saya tidak akan terlalu menentangnya. Widget di ExtJS tampaknya dibuat lebih profesional daripada Dojo, tapi saya pasti bisa memperbaikinya di sana. Saya akan tertarik untuk mendengar dari siapa saja yang memiliki pengalaman di keduanya.
UI
Dojo memiliki perpustakaan UI dijit ExtJS memiliki fitur UI tetapi mereka tidak dalam inti Ext. Berikut dokumentasi dan demo mereka
Cappuccino
Secara keseluruhan
Dan kemudian ada Cappuccino. Tanpa CSS, tanpa html, tetapi juga sulit untuk menggunakan pustaka javascript yang ada. Objective-J sepertinya tidak menakutkan, terutama mengingat mereka juga bisa menulis javascript biasa. Demo sangat mengesankan dan tampaknya mendekati kebutuhan UI untuk mesin wiki. API berbasis kakao banyak diterima oleh seseorang yang tidak terbiasa dengannya, tetapi mungkin itu sepadan. Saya telah mendengar mesin tata letak tidak selalu mudah untuk dikerjakan tetapi teknologi muda dan mungkin mengganggu seperti ini pasti akan memiliki beberapa kekurangan.
UI
Kosong saat ini
Saya minta maaf karena telah menulis begitu banyak tapi hei, setidaknya itu bukan pertanyaan ax vs y vs z berharap banyak jawaban murah. Jadi apa yang Anda pikirkan? Apa yang harus menjadi dasar desktop saya seperti mesin wiki, yang diharapkan akan menjadi lebih kaya fitur (baca kompleks) dari waktu ke waktu?