[解決済み] 私のプロジェクトとJavascriptフレームワークについて、どこが間違っているのでしょうか?
質問
まず最初に、私が作成したいプロジェクトの骨子は、1ページのWebアプリケーションとして実装されたwikiエンジンです。私は、将来的に多くの機能を追加して、最初から利用可能な機能のセットを持っていることを計画しています。
基本的な機能
- ページ作成 (Wiki記事とその記事のためのディスカッションフォーラムの両方を作成)
- マークアップとWYSIWYGは マークアップ
- マークアップ / html / WYSIWYG 間のオンザフライ変換
- クイック ナビゲーションのためのサイドバー
- 編集/ビューを選択するための上部ツールバー
高度な機能
- 異なる方法でナビゲートするための設定可能なサイドバー
- 設定可能なツールバー (お好みのマークアップ言語を追加可能)
- タグ
- 編集可能なTodo
- ドラッグ&ドロップによるファイルアップロードと画像添付
このエンジンはもともと、最も基本的なページの作成、マークアップと WYSIWYG 編集、および保存で構成されるでしょう。最終的には、ドラッグ アンド ドロップによる画像のサポート、ファイルのアップロード、ライブ データ グラフ、および表示をカスタマイズするためのサイドバーによって、この基本的なエンジンを拡張したいと思います。
私は、私のプロジェクトのベースとなる適切なプロジェクトをかなり広範囲にわたって探しましたが、TiddlyWiki 以外には、良い javascript ベースの wiki エンジンはないようです。私はまた、既存のWikiエンジンの上にJqueryを適用することを考えましたが、私はいずれにせよ、それを書き直すことになると信じています(さらに、私が行くように欲しい機能を追加する方がよりエキサイティングです)。いずれにせよ、私は、javascriptライブラリ+フレームワークでこの獣を実装することにたどり着きました。
私は、これらのフレームワークのいくつかを互いに比較することができないことを知っています。私は、それぞれのフレームワークの比較可能な部分に対して、比較コメントや質問を組み立てようとしましたが、訂正されることを歓迎します。
それでは、始めましょう。
私自身の調査や意見に基づき、以下の項目に絞り込みました。私の限られた能力では、以下の項目がより適していると思ったので、SproutCore、corMVC、YUI、その他を意図的に除外しました。
私の選択肢
jquery/UI + バックボーンjs
全体
私が読んだところでは、この組み合わせは多くの人に使用され、愛されており、非常に柔軟で拡張可能です。私の主な懸念は、この組み合わせは、よりデスクトップ指向の UI インターフェースを開発するための最良の出発点ではない、ということです。
ブロック クォートUI
jQueryUIやjqueryToolsは競争力があるかもしれませんが、確かに他のフレームワークのUI機能と同等ではないようです。特に、それらは効果に重点を置いているようですが、まともなレイアウト スライスのサポートに欠けています。
javascriptMVC
全体
JavascriptMVCは、本質的にはjquery + MVC(jqueryMX)の拡張機能と、ドキュメント作成(documentJS)、機能テスト(funcUnit)、コードと依存関係の管理(stealJS)などのアプリがあるように思われます。追加モジュールの利点を超えて、私は機能的な議論が本当にbackbonejs対jqueryMXに帰着すると思います 私はこれに関して正しいですか、そして誰かが両方で働いたり比較したりしましたか?
UI
JavascriptMVCでは MXUI の項目を追加するので、少なくともこのカテゴリでは若干の勝者だと思います。
ノックアウトjs
全体
この件に関する私の考えと懸念は、jquery + backboneのコメントと非常によく似ています。どちらも似たような機能を提供しているように見えますが、ただ異なる観点からです。よく挙げられる欠点は、knockoutjs がビジネス ロジックとプレゼンテーションをデータ バインドで緊密に結合しすぎることと、この結合方法が複雑な UI インタラクションで破綻することですが、それが問題でない理由をぜひお聞きしたいです。
UI
現時点では空白
Dojo & ExtJS
全体
私はDojoとExtJSについて最もよく知らないし、ほぼ同じ空間でプレーしているように見えるので、この議論を結合するつもりです。この 2 つに関する stackoverflow の情報のほとんどは、古くなっているようです。私が見たところでは、どちらもデスクトップアプリケーションの実装に適した大規模なフレームワークです。Dojoは、ドキュメントの貧弱さで非難されていたが、もはやそのようなことはないようだ。ExtJSにはもちろん商用ライセンスがありますが、得られるものに対して実に合理的であり、私はそれをあまり不利には考えません。ExtJSのウィジェットは、Dojoよりも専門的に作られているように見えますが、そこは訂正される可能性があります。私は、両方の経験を持つ人から話を聞きたいと思っています。
UI
Dojoは dijit UI ライブラリ ExtJSにはUI機能がありますが、Ext coreにはありません。ここでは ドキュメント で、以下はその デモ
カプチーノ
全体
そして、カプチーノです。CSSもhtmlもない、でも既存のjavascriptのライブラリを使うのも厳しいかもしれない。Objective-Jは怖くないようで、特にプレーンなjavascriptも書けると宣伝していることを考えると。デモは印象的で、wikiエンジンのUIニーズに密接にアプローチしているようです。cocoaベースのAPIは、それに慣れていない人にとっては取り入れるのが大変ですが、もしかしたらそれだけの価値があるかもしれません。レイアウトエンジンは必ずしも簡単に動作するわけではないと聞いていますが、このような若くておそらく破壊的な技術には、確かにいくつかの欠点があることでしょう。
UI
現時点では空白
あまりにたくさん書いてしまって申し訳ないのですが、少なくとも、安直な答えを大量に期待して、x対y対zの質問をしているわけではないのです。それで、あなたはどう思いますか?デスクトップのような Wiki エンジンの基礎となるべきものは何でしょうか。
どのように解決するのですか?
まず、あなたのプロジェクトの具体的な UI 要件を出すことをお勧めします。 どのフレームワークを試されましたか?
個人的には、私が携わるプロジェクトでは、コントロールやウィジェットのカスタマイズを多く必要とするため、ExtJSの開発に着手しました。 ExtJSは、箱から出してすぐにたくさんのコントロールやウィジェットを備えており、いつでも拡張したり、組み合わせたり、ビジネスが必要とするどんな巨大なものにも作り変えることができます。
ExtJS 4 は、UI をさらにカスタマイズするためのスキンも提供します。
JavaScript が初めてで、Java に慣れているのであれば、次のようなサーバーサイドのソリューションも検討してみてください。 GWT , JSF または、さらに Vaadin
関連
-
[解決済み】event.stopPropagationとevent.preventDefaultの違いは何ですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] JavaScriptで日付の書式設定に関するドキュメントはどこにありますか?
-
[解決済み] セレクトボックスのオプションをすべて削除してから、オプションを1つ追加して、jQueryで選択するにはどうすればよいですか?
-
[解決済み] jQueryで画像をプリロードする
-
[解決済み] JavaScriptの変数名として有効な文字は何ですか?
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] 文字列が空白であるかどうかをチェックする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]