【abc2014spring lt】angularjsでwebアプリ開発

16
Android Bazaar and Conference 2014 Spring LT AngularJS で WEB ででででで hkusu 2014/3/21

Upload: hiroyuki-kusu

Post on 28-May-2015

2.975 views

Category:

Technology


2 download

DESCRIPTION

2014年3月21日(金)に実施される Android Bazaar and Conference 2014 Spring の ライトニングトーク(LT)資料です。

TRANSCRIPT

Page 1: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

Android Bazaar and Conference

2014 Spring LT

AngularJS でWEB アプリ開発

hkusu

2014/3/21

Page 2: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring自己紹介

hkusu ( 久須 裕之 )

所属:株式会社ゆめみ ( http://yumemi.co.jp)

仕事:スマホ向けアプリ /API/ WEB/ サーバ構築 全般

http://qiita.com/hkusu

hiroyuki.kusu

@h_ku_su

https://github.com/hkusu

Page 3: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring

AngularJS × スマホ WEB サイト

• AngularJS ? .. Google 製の JavaSrcipt フレームワーク .. Android も Google 製

• 今回のスマホ WEB サイトの定義 .. HTML 、 CSS 、 JavaScript で実現したサイト .. for Android/iOS

本日の内容

Page 4: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring

WEB の技術 (HTML/CSS/JavaScript)の活用  ... Android/iOS 向けのクラスプラット フォーム開発 … PhoneGap 、 Monaca 等と連携すれば ネィティブにも … 運用フェーズでの更新が容易

大規模 WEB 開発 … アプリケーションの大きさ … 開発人数

なぜ AngularJS ?

Page 5: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Springデモ

飽きちゃうとあれなのでここでデモ■UI ライブラリに ionic (後述)を使った例

http://hkusu.github.io/AngularJS_ionicjs_demo/ (公式で用意されてるサンプル)

■UI ライブラリに onsen ui (後述)を使った例

• iOS テーマ《タブ版》 http://hkusu.github.io/AngularJS_onsenui_demo/app/index-ios-tab.html • iOS テーマ《スライドメニュー版》 http://hkusu.github.io/AngularJS_onsenui_demo/app/index-ios-sd.html • Android テーマ《タブ版》 http://hkusu.github.io/AngularJS_onsenui_demo/app/index-android-tab.html • Android テーマ《スライドメニュー版》 http://hkusu.github.io/AngularJS_onsenui_demo/app/index-android-sd.html

■ スワイプ( ngTouch )

http://hkusu.github.io/AngularJS_ngTouch_demo/

Page 6: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Springなぜ AngularJS ?

リッチなスマホ WEB サイトって? … 演出? 機能が多いこと?

→ NO 。 UX( ユーザ体験 ) が大事、 だと思う

つまり、ユーザアクションに対する反応をいかに向上させるか

Page 7: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring

従来のページ遷移型のスマホサイトでなくて、シングルページアプリケーションへ

なぜ AngularJS ?

index.html

ダウンロードされたロジックファイルが端末側で動作。

従来のようにユーザアクション毎にHTML 丸ごとを取得しにいかない

サーバ

ユーザアクション

HTML( 変更分のみ ) 、

JSON(P)

変更分のみ DOM を更新

Page 8: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring

将来的には

こういう構成のとき、 AngularJS いいよねっていう話

HTMLCSS

JavaScript

クライアントブラウザ サーバ

マルチデバイス化

API

表示に関わるものはブラウザで処理

(マルチデバイス対応もここで)

サーバ機能は SaaSなどで API で提供さ

れる

なぜ AngularJS ?

Page 9: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Springモバイル対応

■META タグ http://getbootstrap.com/css/ から引用

■ PC 等も対応するなら Bootstrap いれる ( レスポンシブ )

■ タッチイベントの最適化とスワイプ対応 → ngTouch を導入

■必要あらば UI ライブラリ導入 → ionic 、 onsen ui など。この2つはそれ自体が AngularJS ベース

■遅延読み込み(画像の Lazy Load )を導入

Page 10: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Springモバイル対応

■AngularJS のファイルサイズが大きいことへの対応

 − minify する .. Grunt で

 − gzip で圧縮 − 手作業で圧縮 and .htaccess 等で振り分け − または Grunt で − または mod_deflate など( Apache モジュール)

− 端末側にキャッシュさせる − HTTP レスポンスの Cache-Control ヘッダ、 Expires ヘッダ

− CDN を使う( AWS でいうと CroudFront )

Page 11: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring

http://qiita.com/hkusu

時間が足りないので後は Qiita みてください ^^;AngularJS とモバイルについてもろもろ書きました。

ほか詳しくは

■Yeoman で AngularJS & UI Bootstrap の開発環境構築 http://qiita.com/hkusu/items/7d748b55ba73cc8a3675

■AngularJS で ngTouch と ngAnimate を導入したメモ http://qiita.com/hkusu/items/6a2d5c19691442e3d731

■ionic ( AngularJS ベース)のアプリケーション開発環境を構築 http://qiita.com/hkusu/items/a9d5908ede11110acb88

■onsen ui ( AngularJS ベース)のアプリケーション開発環境を構築 http://qiita.com/hkusu/items/664d025eec9f316d7270

■AngularJS のアプリケーションで画像の遅延読み込み ( レイジーロード ) を導入したメモ http://qiita.com/hkusu/items/3b7c474726bd0b4a4c1f

Page 13: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring

https://itunes.apple.com/jp/app/id432831907

エンジニア ( フロントエンド / サーバ ) 募集!デザイナー /WEB 制作者 募集! お仕事も募集!

世界中で使われる O2O サービスの実現

ネイルブック

ゆめみについて

Page 14: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring

http://yumemi-inc.github.io

ゆめみの TEC情報配信サイト。いま準備中。

ゆめみについて

Page 15: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring参考 URL ほか■参考 URL (公式系)

• http://angularjs.org • https://github.com/angular/angular.js • http://docs.angularjs.org/api • http://angular-ui.github.io/bootstrap/

■参考 URL (学習)

• http://js.studio-kingdom.com/angularjs/guide • http://d.hatena.ne.jp/Kazzz/20131207/p2 • http://www.walbrix.com/jp/blog/2014-01-angularjs-bootstrap.html • http://8th713.github.io/LearnAngularJS/#/ • http://dev.classmethod.jp/tool/angularjs_getting_started/ • http://angularjsninja.com • http://blog.asial.co.jp

■参考書籍

• WEB+DB vol.79 特集 • はじめての AnglarJS ( http://www.amazon.co.jp/dp/4777518086)

Page 16: 【ABC2014Spring LT】AngularJSでWEBアプリ開発

ABC 2014 Spring

モバイル対応が強化される?

AngularJS 2.0