N3 SDK

N3の意味

  • No HTMLテキスト
  • No CSSテキスト
  • No DOMクエリ

ビジネス利用におけるメリット

HTML作成プロセスを排除

 必要なHTMLファイルは、コンテンツを持たない起動用の1ファイルのみです。SDKがビルド時に自動作成します(カスタマイズ化)。  HTMLタグは、簡単なテキストの装飾程度にしか使用しません。

 これにより、従来のWebアプリ開発で必須だったHTML(テンプレート)を作成するための人員と作業時間、プログラマとのすり合わせの手間が不要になります。  また、ブラウザにHTMLテキストをパースさせないので、パフォーマンスの向上も期待できます。

CSSのデバッグを大幅に軽減

 linkタグやstyleタグでのCSSテキストの取り込みは行いません。Design.jsにより、スクリプトから直接CSSルールを構築します。

 ベンダープレフィックスを書く必要はありません。N3がブラウザに問い合わせて自動的に付加します。  また、実行しているブラウザがサポートしていないスタイルを記録し、デバッグを容易にします。  スクリプトなので、単純な括弧の閉じ忘れなどもエラー化されます。

DOMクエリやリフロー対策を充実

 DOMクエリ(querySelector, getElement(s)ByXXXX)は、ゼロです。innerHTMLの利用を特殊文字の解釈に限定し、DucumenttFramegmentの使用により、リフロー(エレメントの位置とサイズの再計算と再描画)を可能な限り抑えています。

サードパーティ・ライブラリ不要

 N3の駆動系は単独で動作します。

 しがたって、外部のライブラリの仕様変更に対するリスクはありません。再配布の際に、第三者の著作権や、バグ発覚時のサポート契約に頭を悩ます必要もありません。

(YoutubeeやGoogle Mapなど、一部UIのパーツとして利用しているものはあります)。

基本モジュール(Class.jsとDesign.js)

  • Class.js ... よりプログラミング言語に近いオブジェクト指向へ
  • Design.js ... 動的なCSSルール定義でベンダープレフィックス不要

こんな人にオススメです

  • JavaやC++やServeletでのアプリ開発の経験はあるが、JavaScript/HTMLにはほとんど関わっていない人。
  • JavaScriptはWeb開発キットが自動出力するので、人が直接書くことはありえないと思っている人。
  • オブジェクト指向もまともじゃないし、セキュリティ機構も絶無なので、JavaScriptは3分触ってイヤになった人。
  • データ型の管理の杜撰さゆえにデバッグに時間がかかるので、JavaScriptでの開発は人件費の垂れ流しだと思う人。

必要なスキル

  • JavaScriptの基本的な文法(トリッキーな記法は使わないので、経験がなくても他の言語が書ければよし)
  • WebサーバやHTMLやブラウザに関する入門書の斜め読み適度の薄っぺらな知識(なくてもいい)
  • JavaやC++などによるGUIアプリの開発経験。むしろこちらのほうが重要。
  • オブジェクト指向言語の基礎知識(クラス、仮想関数、抽象クラス・メソッド、インターフェース、継承)。これも重要。

なくてもいい症状

  • HTMLやスタイルシートがないと作業ができない依存体質
  • 正規表現中毒 ( String::indexOf, String::startsWith, String::endsWith, RegExt::testを使わないで、全部String::matchとか)
  • jQuery崇拝 ( http://youmightnotneedjquery.com/ )