HTML5を含めその関連技術は数年前のHTML4と比べ数十倍技術要素が必要に成っています。これは、ある意味当たり前のことでやることが多くなれば、それを整理するためのフレームワークや開発するためのツール郡が多く産出されるという、ごく自然なことと思います。
オープンソースで始めるオフラインアプリケーション開発入門
1日目の登壇は「Enterprise ☓ HTML5 Web Application Conference 2014」にてオフラインアプリケーションに関してお話させて頂きました。
- OSSで作るSingle-page Application
- Offline Web Application
についてです。
OSSで作るSingle-page Application
Yeomanでbackboneを使った場合のSingle-page Application開発についてです。最近気になるのですが、整理するためにbackboneを導入したにも関わらずスパゲティプログラムになるケースが色々なプロジェクトで確認されます。JavaScriptフレームワークはプログラムを整理するために役に立ちますが、スパゲティプログラムを作るのはプログラマです。何も考えずにコーティングすればどんな道具を持ってきてもスパゲティになります。
間違って欲しくないのはフレームワークは機能ではなく構造定義です。せっかくの構造を無視してコーティングすればすべてが台無しになります。
Offline Web Application
HTML5で着目される技術要素の一つとしてOffline Web Applicationがあります。ビジネス的な局面としては営業マンが顧客の面前で利用するようなアプリケーションがあります。面前で営業活動しているときネットワークが接続できず活動が阻害されるというのはビジネス上あってはならない。そのためにOffline Web Applicationを利用します。従来通りのクライアントアプリケーションを作る選択も当然あります。JavaFXを使ってもいいでしょう。技術選択はビジネスシーンに応じて選ぶべきです。すべてをHTML5で行おうとしない、しかし局面によってはHTML5が良いという判断をシステムを利用する側の目線に立って考えるのがアーキテクトの役割では無いかと思います。
「Offline Web ApplicationのApplication Cacheは使い物にならない」というコメントをたまに見ますが、私自身はまったくそうは考えておりません。十分利用できると思います。「もっとこうなら」ということもありますが、そういった機能は今後HTML5.1で追加される予定のようです。間違っていけないのは、利用局面です。Offline Web Applicationはあくまでも機能です。使ってよいシチュエーションだめなシチュエーションがあります。エンタープライズエンジニアであっても機能の適用性は判断すべき事項です。
Offline Web Applicationとセキュリティ
Offline Web Applicationはローカルにそのリソースのすべてをクライアントに保持します。気になるのはセキュリティですが注意すべきことは、必ずしも使用するアーキテクチャで解決する必要が無いということです。別のアーキテクチャを用いることで、特定のアーキテクチャのセキュリティを確保するという行為はセキュリティを専門に行っている技術者なら当たり前のことです。
またセキュリティ問題に一翼を担うソリューションが秋にかけて様々なベンダーか出てくるでしょう。楽しみに待ちたいと思います。
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
2日目の登壇は「オープンソースカンファレンス 2014 Tokyo/Spring」でお話させて頂きました。入門セッションです。HTML5開発の現場で行われている開発プロセス、スタイルについてお話させて頂きました(「HTML5とは」というお話ではありません)。
オープンソースカンファレンスではHTML5とYeomanの展示を行っています。そこで良くある質問が
- HTML5ってどういうものですか?
- HTML5は簡単ということなのでやってみたいのですが
- Yeomanってなんですか?
- 結構Yeoman大変ですよね
- Yeoman使わないとSingle-page Applicationって作れないんでしょ?
というのがあります。この中で気になるのが「HTML5は簡単」ということと「Yeomanは大変」「YeomanとSPA」です。
HTML5は簡単?
HTML5は簡単ではありません。やることが多くスキルも必要です。場合によっては以前よりコストが必要になるケースもでてくると思います。しかし、以前から問題のあったアーキテクチャの見直しやオープン性などメリットも多くあります。それが技術の進化というものです。最近「HTML5の機能を使えば、リッチ・コンテンツの開発工数を大きく削減することができる」という記事が見られますが「HTML5だから」ということはありえません。新しい技術がではじめるころに良くある現象ですので鵜呑みにしないことが一番です。
Yeomanってどうなの?
Yeomanは大変ですし簡単です。道具ですのでいかようにもまります。こうでなければならないといった定石などもありません。YeomanがないとSingle-page Applicationが作れないということもありません。他にも優れたツールがあります。AngularなどはYeomanを使う必要のないJavaScriptフレームワークかもしれません。道具に翻弄されないことが重要です。
Yeomanは便利なツールです。私が規模の大きいプロジェクトでSingle-page Applicationを作るとき用いたツールのひとつです。開発効率を上げるためにやるべきことがありYeomanがそれを叶えてくれたために導入しました。別のプロジェクトでは別のツールを使う可能性は十分あります。目的はシステムを導入することです。
登壇を終えて
2/28(金), 3/1(土)「オープンソースカンファレンス 2014 Tokyo/Spring」に参加しました。私が所属しているユーザ会html5jエンタープライズ部主催の「Enterprise ☓ HTML5 Web Application Conference 2014」との同時開催でした。2日連続45分のしかも内容が異なる登壇というのは、なかなか味わいあるハードなカンファレンスになりましたし、とても楽しめたイベントでした。
OSC事務局ならびにhtml5jエンタープライズ部のスタッフ、登壇を聞きに来て頂いたお客様に御礼申し上げます。オープンソースカンファレンスは今後も登壇・展示をさせて頂く予定です。
- 3月22日(土) [浜松] オープンソースカンファレンス2014 Hamanako
- 5月24日(土) [沖縄] オープンソースカンファレンス2014 Okinawa
- 6月13日(金)・14日(土) [北海道] オープンソースカンファレンス2014 Hokkaido
- 7月4日(金)・5日(土) [名古屋] オープンソースカンファレンス2014 Nagoya
- 8月1日(金)・2日(土) [京都] オープンソースカンファレンス2014 Kansai@Kyoto
htm5jエンタープライズ部でもイベント(ハンズオン、ナイトセミナー)を行います。今後ともよろしくお願い致します。