8

JavaScript API を設計するための適切なアプローチは何ですか?

私は JavaScript に比較的慣れていませんが、主に「JavaScript: The Good Parts」から、この言語の重要な優れた機能を学んでいます。現在、私は統計学を教える Web ベースのツールを設計しています。JavaScript API の設計方法を理解していないため、コード ベースが扱いにくくなっています。

私のバックグラウンドは Java と C++ であり、インターフェイスを設計し、それらのインターフェイスを個別に実装することに慣れています。明らかに、これは JavaScript ではうまく機能しません。

助けと提案をありがとう。

更新: ツールの最終バージョンはこちら: http://www.lock5stat.com/statkey/index.html

4

3 に答える 3

2

John Resig は、NodeIterator API を痛烈に批判しています。これは 1 つの特定の API のレビューですが、(少なくとも彼が信じていることは) 優れたツールを作るためのいくつかの洞察を提供します。

于 2011-01-24T00:20:09.043 に答える
2

私の意見では、jQuery を使用している場合、アプリケーションを jQuery プラグインと UI ウィジェットに分割するのが最善の解決策です。プラグインはコードを整理する優れた方法であり、他のアプリケーションで再利用したり、個別にリリースしたりすることができます。

アプリケーションをプラグインのツリーとして作成できます。プラグインは、C++/Java のクラスのように、集約はあるが継承はないと考えることができます。

コードに関する注意: MAIN.bootstrapPlot 関数では document.createElement を使用し、残りのコードと同様に jQuery を使用し、Canto ライブラリで Canvas を確認する必要があります。

于 2011-01-24T00:45:27.990 に答える
1

言語の特徴を念頭に置いて、言語に関係なく API を開発することと同じだと思います。

  1. あなたが指摘するように、インターフェースはjavascriptではあまり意味がありませんが、オブジェクト指向であるため、機能を「クラス」に分割したり、デザインパターンを使用したりできます.

  2. ドキュメンテーション。API を文書化するのと同じように、JavaScript の「クラス」を文書化できます。

  3. js にはインターフェイスや抽象クラスのネイティブ サポートはありませんが、原則を適用することはできます。たとえば、エラーをスローするメソッドを使用してオブジェクトを定義することにより、「抽象クラス」を作成できます。これにより、サブクラスが適切に実装されていない場合にエラーが発生します。インターフェイスを使用するものはすべて、必要なメソッドが init に配置されているかどうかを簡単に確認できます。一部の js 関係者はこれに眉をひそめ、js は緩く型付けされ動的であり、そのように使用する必要があると指摘することに注意してください。

JavaScriptにはそのような概念がないため、「クラス」を引用符で囲んでいることに注意してください。他にできることは、Sencha や jQuery などの既存の API を調べて、アイデアを得るということです。Sencha は、サーバー側の開発者が使い慣れている API のように感じます (ドキュメントを参照)。

于 2011-01-24T00:10:56.063 に答える