まず、私が作成したいプロジェクトの最も重要な部分は、単一ページのWebアプリとして実装されたWikiエンジンです。私は、多くの機能を追加して、最初から利用可能な一連の機能を用意する予定です。
基本的な機能
- ページの作成(Wiki記事とその記事のディスカッションフォーラムの両方を作成します)
- マークアップとWYSIWYG ala markitup
- マークアップ/ html / WYSIWYG間のオンザフライ変換
- クイックナビゲートするサイドバー
- 編集/表示を選択するための上部ツールバー
高度な機能
- 別の方法でナビゲートするための設定可能なサイドバー
- 構成可能なツールバー(選択したマークアップ言語を追加する可能性があります)
- タグ
- 編集可能なToDo
- ファイルのアップロードと画像の添付ファイルをドラッグアンドドロップする
エンジンは元々、最も基本的なページの作成、マークアップとWYSIWYGの編集、および保存で構成されます。最終的には、この基本的なエンジンを、画像のドラッグアンドドロップサポート、ファイルのアップロード、ライブデータグラフ、ビューをカスタマイズするためのサイドバーで拡張したいと思います。
私は自分のプロジェクトのベースとなる適切なプロジェクトをかなり広範囲にわたって検索しましたが、TiddlyWiki以外に、JavaScriptベースの優れたWikiエンジンはないようです。また、既存のWikiエンジンの上にJqueryを適用することも検討しましたが、いずれにしても最終的には書き直してしまうことになると思います(加えて、必要な機能を追加していくと、さらにエキサイティングになります)。どちらの方法でも、JavaScriptライブラリ+フレームワークを使用してこの獣を実装することに到達しました。
私はこれらのフレームワークのいくつかを互いに比較することは実際にはできないことを知っています。私はそれぞれのフレームワークの比較可能な部分に対して比較コメント/質問を組み立てようとしましたが、修正されることは許されています。
だからここに行きます:
自分の調査と意見に基づき、以下の項目に絞り込みました。SproutCore、corMVC、YUIなどを意図的に省略したのは、限られた容量の中で、以下の項目の方が適していると考えたためです。
私のオプション
jquery / UI + backbonejs
全体
私が読んだことから、この組み合わせは多くの人に愛用されており、非常に柔軟で拡張可能です。私の主な懸念は、この組み合わせは、デスクトップ指向のUIインターフェースを開発するための最適な出発点ではないということです。
UI
jQueryUIまたはjqueryToolsは競争力があるかもしれませんが、他のフレームワークのUI機能と同等ではないようです。具体的には、それらは効果には重いようですが、適切なレイアウトスライスのサポートには欠けています。
javascriptMVC
全体
私にとってのJavascriptMVCは、ドキュメント化(documentJS)、機能テスト(funcUnit)、およびコードと依存関係の管理(stealJS)のための他のいくつかのアプリと共に、本質的にjquery + MVC(jqueryMX)拡張であるように見えます。追加モジュールの利点を超えて、機能的な議論は本当にbackbonejsとjqueryMXに帰着すると思います。
UI
JavascriptMVCは、JQueryで利用可能なものの上にMXUIアイテムを追加するので、少なくとも、そのカテゴリーではわずかに有利だと思います。
ノックアウト
全体
これに関する私の考えと懸念は、jquery +バックボーンコメントと非常によく似ています。どちらも同様の機能を提供しているようですが、見方は異なります。よく引用される欠点は、nockoutjsがビジネスロジックとプレゼンテーションをデータバインドと非常に強く結び付けていること、およびこのバインディングメソッドが複雑なUIの相互作用で機能しない可能性があることですが、それが問題にならない理由を知りたいです。
UI
現時点では空白
DojoとExtJS
全体
私はDojoとExtJSについての議論を結合するつもりです。なぜなら、私はそれらについて最低限知っていて、彼らはほぼ同じ空間でプレーしているように見えるからです。これら2つのスタックオーバーフローに関する情報のほとんどは古くなっているようです。私が見てきたことから、どちらもデスクトップキャリバーアプリの実装に適した大きなフレームワークであることがわかります。Dojoは不十分なドキュメントのためにうんざりしていましたが、それはもはやそうではないようです。ExtJSにはもちろん商用ライセンスがありますが、あなたが手に入れるものは本当に合理的であり、私はそれに対してそれをあまり持ちません。ExtJSのウィジェットは、Dojoよりも専門的に行われているようですが、私は間違いなくそこで修正できました。両方の経験をお持ちの方からの連絡をお待ちしています。
UI
Dojoにはdijit UIライブラリがあります。ExtJSにはUI機能がありますが、Extコアにはありません。ここにドキュメントがあり、ここにそれらのデモがあります
カプチーノ
全体
そしてカプチーノがあります。CSSもHTMLもありませんが、既存のJavaScriptライブラリを使用するのも難しいかもしれません。Objective-Jは怖くないようです。特に、単純なJavaScriptを記述できることを宣伝していることを考えると、特にそうです。デモは印象的で、WikiエンジンのUIニーズに近づいているようです。ココアベースのAPIは、馴染みのない人にとっては多くのことを取り入れますが、多分価値があります。レイアウトエンジンは必ずしも簡単に操作できるとは限りませんが、このような若くて破壊的なテクノロジーには確かにいくつかの欠点があります。
UI
現時点では空白
私はたくさん書いてお詫び申し上げますが、ちょっと、少なくとも、安っぽい答えがたくさんあることを期待して、ax対y対zの質問ではありません。それで、あなたはどう思いますか?私のデスクトップのwikiエンジンの基礎は何であるべきですか、それはうまくいけば、時間が経つにつれて機能が豊富になる(複雑になる)でしょう。