Öncelikle, oluşturmak istediğim projenin en çıplak kemikleri, tek sayfalık bir web uygulaması olarak uygulanan bir wiki motorudur. Yol boyunca pek çok özellik ilavesi ile hareket halindeyken bir dizi özelliğe sahip olmayı planlıyorum.
Temel özellikler
- sayfa oluşturma (o makale için hem wiki makalesi hem de tartışma forumu oluşturur)
- biçimlendirme ve WYSIWYG ala biçimlendirme
- biçimlendirme / html / WYSIWYG arasında anında dönüşüm
- hızlı gezinmek için bir yan çubuk
- düzenleme / görüntüleme seçimi için üst araç çubuğu
Gelişmiş özellikler
- farklı yöntemlerle gezinmek için yapılandırılabilir yan çubuk
- yapılandırılabilir araç çubuğu (muhtemelen tercih ettiğiniz biçimlendirme dilini ekleyin)
- etiketleri
- düzenlenebilir yapılacaklar
- dosya yüklemelerini ve resim eklerini sürükle ve bırak
Motor başlangıçta en temel sayfa oluşturma, işaretleme ve WYSIWYG düzenleme ve kaydetme işlemlerinden oluşacaktı. Sonunda bu temel motoru sürükle ve bırak görüntü desteği, dosya yüklemeleri, canlı veri grafikleri ve görünümleri özelleştirmek için bir kenar çubuğu ile genişletmek istiyorum.
Projemi temel alacağım iyi bir proje için oldukça kapsamlı bir araştırma yaptım, ancak TiddlyWiki dışında herhangi bir iyi javascript tabanlı wiki motoru görünmüyor. Ayrıca mevcut wiki motorlarının üstüne Jquery uygulamayı düşündüm, ancak sonunda onu yeniden yazacağıma inanıyorum (Ayrıca, giderken istediğim özellikleri eklemek daha heyecan verici). Her iki durumda da bu canavarı bir javascript kütüphanesi + çerçevesi ile uygulamaya başladım.
Bu çerçevelerden bazılarının birbirleriyle karşılaştırılamayacağını biliyorum çünkü bunlar elma ile elma değildir. Herhangi bir karşılaştırma yorumunu / sorusunu ilgili çerçevelerin karşılaştırılabilir parçalarıyla çerçevelemeye çalıştım, ancak düzeltilmeye açığım.
İşte başlıyoruz:
Kendi araştırmalarıma ve görüşlerime dayanarak listeyi aşağıdaki maddelere indirdim. SproutCore, corMVC, YUI ve diğerleri gibi şeyleri kasıtlı olarak dışarıda bıraktım, çünkü sınırlı kapasitemde aşağıdaki öğelerin daha uygun olacağını düşündüm.
Seçeneklerim
jquery / UI + backbonejs
Genel
Okuduğum kadarıyla bu kombinasyon birçok kişi tarafından kullanılıyor ve seviliyor ve çok esnek ve genişletilebilir. En büyük endişem, bu kombinasyonun daha masaüstü odaklı UI arayüzünü geliştirmek için en iyi atlama noktası olmamasıdır.
UI
JQueryUI veya jqueryTools rekabet edebilirken, diğer çerçevelerin UI yetenekleriyle kesinlikle eşit görünmüyorlar. Spesifik olarak, etkileri ağır gibi görünüyorlar, ancak düzgün düzen dilimleme desteğinden yoksunlar.
javascriptMVC
Genel
Bana göre JavascriptMVC, aslında jquery + MVC (jqueryMX) uzantıları, belgeleme (documentJS), fonksiyonel testler (funcUnit) ve kod ve bağımlılık yönetimi (stealJS) için birkaç başka uygulama gibi görünüyor. Ek modülün faydalarının ötesinde, işlevsel tartışmanın gerçekten de jqueryMX'e karşı backbonejs ile ilgili olduğunu düşünüyorum. Bu konuda haklı mıyım ve herhangi biri her ikisiyle çalıştı mı veya karşılaştırdı mı?
- Özellikler: Jüpiter'in (jMVC üreticisi) özelliklerine genel bakış
- Bağlantı jqueryMX
UI
JavascriptMVC, MXUI öğelerini Jquery için mevcut olanların üstüne ekler, bu yüzden en azından bu kategoride küçük bir kazanç olduğunu düşünüyorum.
nakavt
Genel
Bununla ilgili düşüncelerim ve endişelerim jquery + omurga yorumlarına çok benziyor. Her ikisi de benzer özellikler sunuyor gibi görünüyor, ancak sadece farklı bir açıdan. Sıklıkla belirtilen bir dezavantajı, nakavtların iş mantığını ve sunumu veri bağlarıyla çok sıkı bir şekilde birleştirmesi ve bu bağlama yönteminin karmaşık UI etkileşimi için bozulabileceği, ancak bunun neden bir sorun olmadığını duymak isterim.
- Omurga ve nakavt JS kavramlarının tartışılması
- Özellikler knockoutjs arasında
UI
Şu anda boş
Dojo ve ExtJS
Genel
Dojo ve ExtJS tartışmasını birleştireceğim çünkü onlar hakkında en az şey biliyorum ve neredeyse aynı alanda oynuyorlar gibi görünüyorlar. Bu ikisi hakkında yığın akışı hakkındaki bilgilerin çoğu güncel değil gibi görünüyor. Gördüğüm kadarıyla ikisi de masaüstü calibre uygulaması uygulaması için iyi olan büyük çerçevelerdir. Dojo, yetersiz dokümantasyon nedeniyle suçlanmıştı, ancak artık durum böyle değil. ExtJS elbette ticari lisansa sahip, ancak aldığınız şey için gerçekten makul ve bunu buna çok fazla karşı tutmam. ExtJS'deki widget'lar Dojo'dan biraz daha profesyonelce yapılmış gibi görünüyor, ancak kesinlikle orada düzeltilebilirim. Her ikisinde de deneyimi olan herkesten haber almak isterim.
UI
Dojo, dijit UI kitaplığına sahiptir ExtJS, UI özelliklerine sahiptir, ancak bunlar Ext çekirdeğinde değildir. İşte belgeler ve işte demoları
Cappuccino
Genel
Ve bir de Cappuccino var. CSS yok, html yok ama aynı zamanda mevcut javascript kitaplıklarını kullanmak da zor olabilir. Objective-J korkutucu görünmüyor, özellikle de düz javascript yazabildiklerini düşünürsek. Demolar etkileyici ve wiki motoru için kullanıcı arayüzü ihtiyaçlarına yakından yaklaşıyor gibi görünüyor. Kakao bazlı API, aşina olmayan biri için çok şey kabul edilebilir, ancak buna değer olabilir. Düzen motoruyla çalışmanın her zaman kolay olmadığını duydum, ancak bunun gibi genç ve muhtemelen yıkıcı bir teknolojinin kesinlikle bazı eksiklikleri olacak.
UI
Şu anda boş
Bu kadar çok yazdığım için özür dilerim ama hey, en azından bir sürü ucuz cevap umuduyla axe vs y vs z sorusu değil. Yani ne düşünüyorsun? Wiki motoru gibi masaüstümün temeli ne olmalı, umarım zamanla daha zengin özellikli (karmaşık okuma) hale gelir?