Webアプリ開発を取り巻く環境

Sencha Advent Calendar 2015 1日目の記事です。

code:x の更新をするのが、本当に1年ぶりという…、ご無沙汰しています、小堤です。 初回の今回は、がっつり技術系では無い感じで行こうと思います。

近況

Advent Calendar の内容を始める前に近況を。 最近は、Twitter/Facebookなんかにちょこちょこ書き込んで終わり、なんかのまとめなんて作業している時間もなく、1年が経ちました。 ちょっと2015年を振り返りつつ、今日の本題に入りたいと思います。

ゼノフィエンターテイメント設立

hp_header1

弊社、株式会社ゼノフィは2016年3月で丸10年を迎えます、早いもんですね、もう10年経つんですか、あまりにも早すぎて記憶が曖昧なくらいです。 そして、今年の5月に株式会社ゼノフィーエンターテイメントを設立しました。

この会社は、ゼノフィのWEB系開発会社とは違い、「音楽」「スポーツ」「サブカルチャー」ビジネスを行うための会社として設立しました。 現状、まだ準備段階みたいなもんですが、「音楽事業」から順次スタートしていっています。

その第一弾として、GUTS AND DEATHというアーティストともに、「CDメディア」ではなく「ネイティブアプリ」での楽曲その他コンテンツの提供を行うアーティスト排出および、その活動支援からスタートしました。

スクリーンショット 2015-11-28 5.52.57

彼らは、毎日19:00時にYouTubeに動画を公開しつつ、ライブ活動や楽曲配信を行っています。

art

仕事の合間にでも、見ていただければ幸いです。

そして、今年は、この活動を始めるに当たりiOS/Androidのアプリを開発しました。

iOS版 https://itunes.apple.com/jp/app/gnd-music/id1028260833?mt=8

Android版 https://play.google.com/store/apps/details?id=com.xenophy_entertainment.gndmusic&hl=ja

このアプリ単体を開発した、そして現在も開発を続けていますが、会社としては、同じような仕組みで様々なアーティストの参加予定が順次決定していっています。 アーティストに関しては、時が来たら公表していきますのでお楽しみに。

アプリのベースは「Firebird Platform」というアプリケーションSDKを、今回のために作成しました。 Firebird Platformに関しては、会社のHPに来年情報を公開予定です。

技術的には、ゼノフィでやっていることとと、アプリは重複する部分です。 今後両社間の連携により、発展させていくためにがんばります。

仕方がない悲しみ、そして喜び

悲しいこととうれしいことの両方が、まぁいつもありますよね、2015年も一杯ありました。

悲しみの一つは、そのバイタリティや決断力を言いと思っていた仲間の離脱です。 単純に、めんどくさいとか仕事上のミスとか、そういうことでい事情での離脱、会社・仕事がどうこう以前に、一緒に見たい世界を想像していたので、それがたった数年では実現できなかったのが、今でも悔やまれます。

うれしいこととも結構ありましたね。

何年ぶりだろう?ってくらい自分の誕生日をしてもらいました。

thumb_hb_1024

嫁や友達、その友達、男女含めていろんな人と知り合い、そしていろんな価値観を見てゼノフィ・ゼノフィエンターテイメントの今後に活かし、それをフィードバックしていけるんじゃないかなと思った時間でした。

そして、まぁベタですが。 子供の成長は、地味にうれしく思っています。

thumb_IMG_3844_1024

まず、生きてますからね、そんな当たり前のことを成り立たせるために、嫁を含めここ数年間どれだけ大変だったかを考えると、やっぱりうれしいことです。 なにより、言葉を喋る、理解して会話が成り立つっていうのは、やっぱりうれしいですよね。

普段仕事の成果で、メシを食っているっていうのと同じで、コレが嫁の努力した成果なんだと日々感謝しています。 ま、あんまり口に出さないから、興味無いんだろうと思われてるんでしょうが、全くそんなことはないんだけどね。

色々な人とふれあい、色々な価値観にふれ、一つだけ確認できたのは「みんな必死」っていうこと。

表面上のパフォーマンスや、ネット上のパフォーマンスなんてどうでもいいな、って思えるくらい、現実に立ち向かっている人たち。 それがどんなに小さなことだったり、くだらないとおもわれるようなことでも、それが成り立たなければ生きていけないんだからね。 凄く、共感するともに、嫁・子供を始め、社員、友達みんな一人一人になかなか会えないし、なかなか遊べないかもしれないけど、大事にしていきたいなと思う年でした。

と。

はい、前置きが長くなり巻いたが、そろそろ本題にいきましょう。

最近のWebアプリを含めて開発環境について

最近どうですか?開発、楽しいですか?何が流行ってますか?

HTML5? 飽きた?

はい、飽きましたっていうと語弊があるんですが、飽きたと言うよりも「当たり前になった」なぁっていう感じがします。

Webアプリって

いろんなシステムみてて、HTML5がどうっていうのじゃなくて、Webアプリっていってもいろんな物がありますよね。

  • 入力表示の管理画面系システム
  • Flash/HTML5で表現されるアニメーションコンテンツ
  • ブログ
  • ECサイト…

などなど。

作る物が多種多様なように、開発ツール、SDKも大分増えましたね。

今年は、開発環境色々触れるしかない状況で、「これならこれ」っていうのが大分固められた年でした。

エンタープライズ向けのシステムはSencha

まぁ、Sencha推しですが。 エンプラのシステムっていうのは、

  • 開発が長い
  • 基本、入力、一覧、検索がメイン
  • UIが統一されている必要がある

などなどを考慮すると、Senchaはやはり優秀だなぁと改めて思います。 また、動作するブラウザへの対応も順次行われている安心感があり、開発する側も、動作する環境の対応・アプリケーションの開発の両方を面倒みていくのは、開発工数を考えてもちょっとゲンジツ的じゃなくなってきてるんじゃないかな?

ゲームコンテンツならcocos2d-JS

スクリーンショット 2015-11-28 6.26.53

色々検証してみたんですが、ゲームコンテンツの様な物は、ゴリゴリのものでないかぎりは、cocos2d-JSが良いんじゃないかなと思っています。

理由は色々あるんですが、次のネイティブとの連動、JSでの開発知識を生かせる点、そして、パフォーマンス。 全てにおいて、コレが一番とっつきやすいかなぁと思いました。

cocos2dx でC++でかくんじゃーっていう最初からそういうアプリはそれでいいと思います。 Web技術との連携とか考えると、HTMLベースがいいなぁっていうのとWebGL利用で結構サクサクなんだし、昔のFlasherっていわれるFlash職人のようにJS開発者も増えてきてるし、バランス良いよなぁって思います。

cocos2dxをアプリの一部に入れたり、RoboVMを利用してJavaでiOS/Android両対応する、XamarinでC#でいくのも一つの手でしょうけど、僕の場合は、ネイティブ部分は、ネイティブのSDK、開発環境でいくことにしたので、インタラクティブ性の高いコンテンツ作成には、コレが一番でした。

インフラクラウドは、さくらのクラウド

R0000000221

いや、「は?」っていう人もいるかもしれませんが。

さくらのクラウド個人的にお気に入りです、スッキリしてて。 単純にCentOS入れて公開したい、開発環境おきたい、から、実際の運用レベルまでの最低限のものが低価格で揃っているイメージです。

AWSもAzureとかも全部それぞれ良いところあるし、便利だなぁってみてるけど、どれでも好きなの つかっていいなら、さくらのクラウドオススメです。

なんだろ、玄人向けなのか?あんまり余計な余計なことされてないというか、シンプルにLinux環境仮想化して、外おいてるって感じ。

ネイティブアプリとWEB

ビジネス向けアプリケーション、ゲーム、ともにネイティブとの連動は、いまや当たり前になってきましたね。 Apache Cordovaで連歴は、結構珍しくなくなってきました。

Sencha Cmdももちろん対応してるしね。

何でもかんでもWeb技術で作るっていうのはですね、Sencha推しの僕からしてもですね、ダメだと思っています。

技術は適材適所なので。

なので、ネイティブアプリでWebView連動でもいいし、Cordovaで包むのもいいし、Cordovaプラグイン記述して対応するのもいいし、予算・期間・技術者のスキルレベルなど状況により選べる選択肢が大分増えた感じがします。

ビジネスアプリを包むならCordova+Sencha Ext JS最強だな、って個人的に思っています。

インフラ技術、デバイス連動の進化

AWS始めクラウド界隈の進化もめまぐるしいですね。 いろんな製品でてきて、正直なにがなんだかわけわかんねーわw って思いながら見ています。 でも、Webアプリを作る上でこれらとの連携は必ずといっていいほど、業務で発生し、今後も増えていくでしょう。 インフラエンジニアも、仮想化されたけど、大変だろうなぁって思います。 物理的にHDD入れ替えたりしなくなったのが、DTMっぽいよなw

そして、IoTですが、ラズパイですか?w まぁビジネスにして言ってる人もいますし、おもちゃとして遊んでる人もいますし。

ただ、昔からデバイス開発を行っていたのもあり、デバイス連動ってそんなにIoT、IoT騒いで感動するような話じゃないんですよね。 むしろ、やったこと無かった人がやりやすくなって、勝手に感動してるだけなんで。

Flash 1.x -> 2の時代に、ラジコン連動とか普通にみんなやってたし、ドローン?って思っちゃうもんな。

でも、フィジカルWebですか。

たいそうなことではなくて、身近な物自体が、何かしらのシステムに連動する形は、着実に進化していっています。 ビーコンとか、地味だけどスゴイ役に立つだろうなと思うし、今後取り入れたい。

そして、Webシステムとどう連動するか、Websocketのインフラ整え、streamingのインフラ整えもApacheのように当たり前になってくれば、 もっと面白くなるんでしょうし、新しい仕事も生まれるんでしょうね。

Sencha Ext JS 6 がリリースされてから

Sencha Ext JS 6がリリースされてしばらくが経ちました。 デスクトップ・タブレット、そしてSencha Touchがになっていた「Phoneデバイス」の全てに対応しています。 デスクトップが、Safari…Firefox… のマルチブラウザ対応のように、タブレット、Phoneもそれぞれ各種デバイスに対応していっています。

デスクトップの対応だけでも、Sencha Ext JSの価値あるなぁと思っていた数年前。 ついにここまできたし、一つのこと覚えて、全てに対応していけるっていうのは、ちょっと前から考えたら夢のような状況です。

ただ、個人で遊ぶにはちょっとライセンス料もあるし、規模も考えると微妙かもしれません。 実際に、ライセンスの販売を行っていても、ジワジワジワジワとエンタープライズのお客様が増えて行っている感じがします。

なにより、サポートがあるのもいいし、年単位のプロジェクトを行っている人たちがちゃんとうまくいっているのが見えて、 提供している側、そしてユーザーとしても、安心しています。

Senchaを取り巻く環境

近日?日本のSenchaオフィスがサポートページからの対応にちゃんとなるようなことを聞いています。 この記事出る頃には、もうでてるのかな? Sencha日本オフィスができてから、もう1年くらいたったんでしょうか。

Sencha本体が日本に力を入れてくれていることを感じるし、我々もその支援を行って行ければ、そして、なにより利用ユーザーのビジネスが成功するお手伝いができれば幸いです。

最近は、SDK本体の機能アップ、修正パッチもさることながら、開発環境へのプラグイン提供がされて、大分落ち着いてきたなって感じがします。 あんまり、だプラグイン使って無かったんですが、最近積極的に使って行こうと思っています。

最後に

ただの近況方向みたくなってしまいましたが、Senchaのintelli Jプラグイン、開発環境構築、各種機能の使い方のおさらいなど含めて、色々な方が明日移行記事を公開していってくれるでしょう。

ビジネスの、特に管理画面系システムには、Sencha Ext JSは非常に相性がよく、そして年単位で受け入れられている事実と、もうHTML5だからどうのこうのっていうことでもなく、面白おかしく新しい物をぶち込むわけでもなく、それでいて安定した物っていうことで導入が進んでいるんだと思います。

今年のこのカレンダーが、仕事でSencha Ext JSに触れる人の手助けになれば幸いです。

Webアプリ開発を取り巻く環境