1. ホーム
  2. javascript

[解決済み] 私のプロジェクトとJavascriptフレームワークについて、どこが間違っているのでしょうか?

2022-11-25 23:18:25

質問

まず最初に、私が作成したいプロジェクトの骨子は、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