リジェクトされたiOSアプリをAngularJSでリメイクしました & WebアプリとiOSアプリの違いについてまとめ
以前、申請して見事にリジェクトを食らったアプリがあったんですが、
ふと思いつきWebアプリとしてリメイクしてみました。
Str Generator
http://urouro.net/strg/
AngularJS を使ってみました。
あと、UIフレームワークとして Semantic-UI を使っています。
AngularJS触ってみて面白かったので勢いで作りました。
特徴
やれることは極めてシンプルで、
- テキストエリアに入れた文字をカウントする
- 任意の文字数で文字を生成する
のみです。
PC向けのWebアプリなら同様の機能をもったものは沢山あるのですが、スマホ向けではあんまり無いなあ、と思って作りました。
スマホアプリやスマホサイトの、文字数入力チェックなどに使えれば良いかな、と。
Webアプリ化してみて 〜 WebアプリのiOSアプリと違うところ
iOSアプリ・Webアプリをほぼ同じ仕様で作ってみたわけですが(一部仕様は落としていますが)、色々と勝手が違いました。
iOSアプリよりスピーディに作れる
- (Objective-Cに比べて)JavaScriptはかなり簡潔に書ける
- コンパイルとか無い
- UIフレームワークを使ったので、レイアウトもある程度は考えなくて良い
手を動かしてみると、Web開発の速度の早さはやっぱり魅力的です。
もちろん、HTML/CSS/JSと色々理解する必要はありますが、
HTML/CSSはCSSフレームワークで効率的に制作できるようになってきましたし、
JSも有力なフレームワークがどんどん出てきたので、
デザイン・コーディングをちゃんと勉強していないエンジニアでもWebアプリを作りやすくなってきたと思います。
(もちろんちゃんと勉強した方が良いです!)
審査がない
- 審査がないので、スピーディに公開できる
- 審査がないので、修正があってもすぐに反映できる
- 審査がないので、エイヤッで公開してしまい、あんまりクオリティを考えないようになるかも
審査はiOSアプリ(App Store)独特の文化かと思います。
(AndroidやFxOSにもありますが、App Storeほど厳しくない印象です)
審査があるからこそリリース日のコントロールが難しく、そのためにスケジュールの引き方が難しくなってきます。
またApp Storeは修正があったとしてもその都度審査が入ります。
そのためクリティカルな不具合があった場合、修正期間+審査の期間分、ユーザーを待たせてしまうことになります。
コンテンツのほとんどをWebViewで表示しているいわゆる「ガワネイティブ」であればこの限りでないこともありますが)
ただし、審査があるからこそ規約違反にならないように、事前に企画をカッチリと固めテストもしっかりやる、と
各工程のクオリティにも大なり小なり影響を及ぼします。
パフォーマンスが出ない
ネイティブアプリに比べて、Webアプリは一般的にパフォーマンスで劣ります。
今回のような超簡潔アプリなら問題はないのですが、凝った演出や高度なパフォーマンスを要求する場合はネイティブを選択するのが無難でしょう。
また、カメラ・センサなどのデバイス機能を使う場合はWebからは使えないので、ネイティブで作る必要があります。
まとめ
上記のようなネイティブとWebの違いはこれまでも頭では理解していましたが、実際作ってみるとばしっと腹に落ちますね。
あと、AngularJSよいです。
何らかのWebフレームワーク使ったことのある人ならすぐに仲良くなれると思います。
テンプレートエンジンも、他のものに比べてHTMLを汚染しない感じがします。
いろいろ長くなっちゃったので、AngularJSとSemantic-UIについてはまた今度まとめたいです。
JavaScript ライブラリ実践活用〔厳選111〕 (Software Design plus)
- 作者: WINGSプロジェクト,山田祥寛,安西剛,高江賢,高野将
- 出版社/メーカー: 技術評論社
- 発売日: 2013/03/20
- メディア: 大型本
- クリック: 12回
- この商品を含むブログ (8件) を見る