По-перше, головні кістки проекту, який я хочу створити, - це вікі-движок, реалізований як веб-додаток на одній сторінці. Я планую мати набір функцій, доступних під час руху, з великою кількістю доповнень для функцій вниз.
Основні характеристики
- створення сторінки (створює вікі-статтю та дискусійний форум для цієї статті)
- розмітка та WYSIWYG ала розмітка
- на ходу перетворення між розміткою / html / WYSIWYG
- бічна смужка для швидкої навігації
- верхню панель інструментів для вибору редагування / перегляду
Додаткові функції
- налаштована бічна панель для навігації за допомогою іншого способу
- налаштована панель інструментів (можливо, додайте мову вибору розмітки)
- теги
- редаговані Тодо
- перетягуйте завантаження файлів та вкладення зображень
Двигун спочатку складався б із найпростішого створення сторінки, розмітки та редагування WYSIWYG та збереження. Зрештою, я хотів би розширити цей основний механізм за допомогою підтримки перетягування зображень, завантаження файлів, графіків даних у реальному часі та бічної панелі для налаштування переглядів.
Я здійснив досить широкий пошук гідного проекту, на якому можна було б базувати свій проект, але крім TiddlyWiki, схоже, немає хороших вікі-двигунів на основі JavaScript. Я також розглядав питання про те, щоб застосувати Jquery поверх існуючих вікі-двигунів, але я вважаю, що в кінцевому підсумку я все-таки перепишу його (плюс його просто цікавіше додати функції, які я хочу, коли я йду). У будь-якому випадку я прийшов до впровадження цього звіра за допомогою бібліотеки javascript +.
Я знаю, що реально не можна порівнювати деякі ці рамки один з одним, оскільки вони дуже не є яблуками, а яблуками. Я намагався створити будь-які коментарі / питання порівняння щодо порівнянних фрагментів відповідних рамок, але я готовий до виправлення.
Отже, ми йдемо:
На основі власних досліджень та думок я звузив список до пунктів нижче. Я навмисно відмовився від таких речей, як SproutCore, corMVC, YUI та інші, тому що я, будучи обмеженою можливістю, вважав, що наведені нижче елементи краще підходять.
Мої параметри
jquery / UI + backbonejs
Загалом
З того, що я прочитав, ця комбінація використовується і улюбленою багатьма і дуже гнучка і розширювана. Моє основне занепокоєння полягає в тому, що ця комбінація просто не є найкращим стрибком для розробки більш орієнтованого на робочий стіл інтерфейсу інтерфейсу.
UI
Незважаючи на те, що jQueryUI або jqueryTools можуть бути конкурентоспроможними, вони, звичайно, не відповідають рівним можливостям інтерфейсу інших фреймворків. Зокрема, вони здаються важкими для ефектів, але їм не вистачає пристойної підтримки зрізування макета.
javascriptMVC
Загалом
Для мене JavascriptMVC виглядає так, що це по суті розширення jquery + MVC (jqueryMX), а також кілька інших додатків для документування (documentJS), функціональних тестів (funcUnit) та управління кодом і залежностями (stealJS). Окрім переваг додаткового модуля, я думаю, що функціональна дискусія дійсно зводиться до backbonejs vs. jqueryMX. Чи правильно я погоджуюсь на цьому і чи працював хто з або порівнював обидва?
- Особливості: огляд характеристик юпітера (виробника jMVC)
- Посилання на jqueryMX
UI
JavascriptMVC додає елементи MXUI понад усе, що є в наявності для Jquery, так що я думаю, щонайменше, це невелика перемога в цій категорії.
нокаутс
Загалом
Мої думки та занепокоєння з цього приводу дуже схожі на коментарі jquery + основні. Вони, схоже, пропонують схожі функції, але просто з іншого погляду. Часто вказаним недоліком є те, що нокаути з’єднують бізнес-логіку та презентацію занадто тісно з прив'язкою даних і що цей метод прив'язки може порушити складну взаємодію з інтерфейсом, але я хотів би почути, чому це не проблема.
- Обговорення концепцій хребта проти нокауту JS
- Особливості нокаутів
UI
Порожній на даний момент
Dojo & ExtJS
Загалом
Я збираюся поєднати дискусію Dojo та ExtJS, тому що я про них знаю найменше, і вони, схоже, грають майже в одному просторі. Більшість інформації про stackoverflow про цих двох видаються застарілими. З того, що я бачив, це те, що вони є великими рамками, які добре підходять для впровадження додатків калібру на робочому столі. Доджо був висловлений у зв'язку з поганою документацією, але, здається, це вже не так. Конечно, ExtJS має комерційну ліцензію, але це дійсно розумно для того, що ви отримуєте, і я не став би проти цього занадто сильно. Віджети в ExtJS здаються дещо професійніше зробленими, ніж Dojo, але я, безумовно, там можу виправитись. Мені було б цікаво почути від кожного, хто має досвід обох.
UI
У Dojo є бібліотека інтерфейсу Dijit, у ExtJS є функції інтерфейсу, але вони не в ядрі Ext. Ось документація і ось їх демонстрація
Капучино
Загалом
А тут є капучино. Ні CSS, ні html, але також може бути важко використовувати існуючі бібліотеки javascript. Objective-J не здається страшним, особливо враховуючи, що вони також можуть писати звичайний JavaScript. Демонстраційні версії вражають і, здається, близько наближаються до потреб користувальницького інтерфейсу у двигуні wiki. API на основі какао потрібно багато взяти для того, хто з ним не знайомий, але, можливо, воно того варте. Я чув, що з механізмом компонування не завжди легко працювати, але молодий і, можливо, руйнівний технік, як це, безумовно, матиме деякі недоліки.
UI
Порожній на даний момент
Я прошу вибачення за те, що написав так багато, але ей, принаймні, це не сокира проти y питання з надією на багато дешевих відповідей. Так що ж ви думаєте? Що має бути основою для мого робочого столу, як wiki engine, який, з надією, з часом стане більш багатим на функції (читати складні)?