AWS + nginx + Node.js + Android ~ Android アプリ開発してみた~ 高知工科大学 情報学群 4 年 松下 和生.

Slides:



Advertisements
Similar presentations
株式会社名古屋ソフトウェアセンター 1 クラウドアプリケーショ ン開発概要 株式会社名古屋ソフトウェアセン ター 研修事業部 次長 林 広宣 (はやし ひろのり) MCT 、 MCPD 、 OCJ-WC V1.03.
Advertisements

1 アップデート 株式会社アプライド・マーケティング 大越 章司
Jsdo.it と Monaca による端末へ のアプリ導入 5/29 (金)課題 堀江美香.
IT ソリューション塾 講義資料 © ,all rights reserved by NetCommerce & applied marketing モバイル開発.
自社システムにおける 最適なフレームワーク 2012/06/15. 条件 機能は「自己評価」、「勤務表」、「掲 示板」、「ログイン機能」を想定 使用するフレームワーク等は全て無料で あるが未来があるものを使用する 作るにあたり最適なフレームワーク、ソ フトを提供する 画面は HTML5 で作成することが前提.
2002/2/8 ASUG Conference in PAGE 2002 Mac OS X 開発環境と AppleScript MDOnline 編集長 新居雅行.
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
BBT 大学 Ruby on Rails 開発環境セットアップマニュアル Mac 版 1.1 最終更新日: 2013/1/5.
講師 松本 章代. 携帯電話のプラットフォーム オープンプラットフォーム Android のアーキテクチャ LiMo のアーキテクチャ 携帯電話用 OS 携帯電話用の自作アプリ事情 2009/11/142.
北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 中村 有佑
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
BBT大学 Ruby on Rails開発環境セットアップマニュアル
プログラミング言語ADP 大藤雄久.
クラウドコンピューティング メディアコミュニケーション論Ⅲ 第12回.
第3回参考文献発表 PHP言語 岩永逸平.
ハルビン絵葉書コレクションシステムの再構築と機能追加 -サーバ側:PHPとMySQLを用いて
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
Docker.
クラウドコンピューティング(1) オペレーティングシステム 第12回.
Android演習 白 井  豊.
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
マルチプラットフォーム対応 P2Pファイル共有ソフトの開発
「絵葉書を通じてのハルビンの 街の印象調査」システムUIの iPadアプリ化 谷研究室  飯 祐貴.
上藤紳也 5月間報告.
高速開発.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
平成19年11月8日 図書系職員のための アプリケーション開発講習会
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
Day3 Day4 Day3 Day4.
ウェブデザイン演習 第一回 オリエンテーション.
Titanium Studioを使った アプリ開発 Vol.1
Androidアプリの作成 07A1069 松永大樹.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
ピッチ デッキのタグライン 2 本の線に拡張可能
Node.js や MongoDB の Azure 利用
2017年度 情報技術マップ調査 ITディレクトリの構成とSI要素技術
情報工学部 情報工学科 石原研究室 11A1021 重永 実沙希
対応可否 スキル一覧 株式会社エージェント 2015年10月7日 Ver.1.0.
IaaS型クラウドにおける インスタンス構成の動的最適化手法
仕事: SystemVerilogを使いたい
実行時情報に基づく OSカーネルのコンフィグ最小化
Lorem ipsum dolor sit amet, adipiscing elit
平成30年度高知工科大学教職科目 微分方程式特論I 11 高知大学教育学部技術教育コース 北川 晃.
すぐできるBOOK -基本設定編-.
職務経歴書・スキルシート (職種:職種を記載してください).
SaaS/PaaSの起源とこれから 株式会社アプライド・マーケティング 大越 章司
Nakano School of Business 経営情報ビジネス科 【 Java概論(Test1)】
Javaの有償化と各社の対応 ITソリューション塾・第29期 2018年11月21日 株式会社アプライド・マーケティング 大越 章司
W3CがHTML5を勧告として公開 ( ).
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
基礎プログラミング演習 第12回.
生涯忠実なサービスが [年月] から始まりました
PaaSの起源.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
アルペン スキー ハウス
平成30年度 情報技術マップ調査 ITディレクトリの構成とSI要素技術
プレゼンテーションのタイトル プレゼンテーションのタグライン 月 20XX.
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
F series disabled the key
Microsoft Office Project Server 2007
サーバーレス キャンペーンインフラご提案 特徴 料金 初期費用 0円 月額 120,000円 初期費用 0円 月額 380,000円
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
<前提条件> C/S Bridge(C/S版)
映画 機能タイトル 機能タイトル 1月 [年] 映画
人的資源スライド 1 人的資源 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
レポート 進捗状況や状態 サブタイトルの見出し 自分の名前.
お客様の医療 OFFICE ソリューション 投資家のチャンス.
Thibot DOEGARE OBJETIVO EXPERIÊNCIA PROFISSIONAL CONTATO QUALIFICAÇÕES
就職活動.
Presentation transcript:

AWS + nginx + Node.js + Android ~ Android アプリ開発してみた~ 高知工科大学 情報学群 4 年 松下 和生

自己紹介

自己紹介 (1/3) - 概要 静岡県浜松市 出身 工業高校 情報技術科 卒 高知工科大学 情報学群 趣味 – 麻雀、日本酒、アニメ

自己紹介 (2/3) - 何系の人 ? PC アプリ系 – Web 系 – ソーシャル系 – 雑食プログラマー 好きな言語 – JavaScript (and TypeScript), C# よく使う言語 – C/C++, PHP, Ruby, Python

自己紹介 (3/3) - クラウド系は ? 利用経験 – Google Apps (SaaS) – Google App Engine (PaaS) [Python] – Heroku (PaaS) [JavaScript] – Amazon EC2 (IaaS) [VPN] 利用してみたい – Dropbox Datastore API (SaaS)

つくったもの

技術的な話

目次 Android アプリ開発 概要 Android 側 プログラム サーバー側 プログラム サーバー ベンチマーク – Heroku vs AWS EC2

Android アプリ開発 概要 (1/4) 作らないといけないもの – Android アプリ プログラム – Android アプリ デザイン – サーバーサイド プログラム 場合による

Android アプリ開発 概要 (2/4) 必要な技術 – Android 側 … Java, C++, C#, JavaScript など 今回 : Java ( 最も一般的 ) – サーバー側 … PHP, Perl, Ruby, JavaScript など 今回 : JavaScript (Node.js)

Android アプリ開発 概要 (3/4) 必要な機材 – 開発用マシン (Windows or Mac) iOS アプリの場合 : Mac only – デバッグ用マシン (Android) エミュレーターは遅いため必須 複数あったら嬉しい

Android アプリ開発 概要 (4/4) 必要なソフトウェア – Android Developer Tools (ADT) – Android Studio 必要なお金 – 端末代 ( 持っていれば不要 ) – サーバー代 ( 場合による ) – Google 開発者登録料 ($25) Google Play に公開する際に必要

Android 側 プログラム (1/3) プログラミング言語 : Java を採用 – Android 標準 – (Android 問わず ) 最も使われている – オブジェクト指向 – 静的型付け、硬派

Android 側 プログラム (2/3) Android Developer Tools

Android 側 プログラム (3/3) Android のバージョンに注意 Android 4.x 以前 14.3 %

サーバー側 プログラム (1/4) クライアントとサーバー側の連携図 Android 端末 サーバー Web ページ スクレイピン グ Web ページを解析 データベースに保存

サーバー側 プログラム (2/4) 選択肢は無限大 – Web サービス開発技術 流用可能 – 得意な言語で プログラミング言語 : JavaScript を採用 – Java ≠ JavaScript – オーストラリアとオーストリアぐらい違う – サーバーサイド JavaScript (Node.js)

サーバー側 プログラム (3/4) サーバーサイド JavaScript (Node.js) – Google Chrome の JS エンジンを使用 (V8) – 低負荷, 低遅延, 高速 – ソーシャルゲームのサーバー向け Node.js 単独でサーバーとして動作 – 実環境ではリバースプロキシを利用

サーバー側 プログラム (4/4) Node.js フレームワーク Sails.js – MVC フレームワーク Ruby における Ruby on Rails PHP における CakePHP Python における Django – WebSocket が楽 フレームワークレベルで組み込み – O/RM (Object-relational mapping) 主要なものに対応 : MySQL, PostgreSQL, MongoDB

サーバー - 概要 (1/3) Heroku (PaaS) – 独自の管理コマンド – デプロイが楽 (git push) – 無料~有料 – 自動スケーリング AWS EC2 (IaaS) – nginx リバースプロキシ 構成可能

サーバー - nginx (2/3) 高速・軽量 静的ファイル配信 リバースプロキシ

サーバー - nginx (3/3)

ベンチマーク (1/2) Heroku – 1X Standard Dynos 512 MB $0.05/dyno hour – Add-ons: MongoHQ Sandbox free – 無料枠内 AWS EC2 – t2.micro – 12 ヶ月無料体験枠内

ベンチマーク (2/2) ※ 6 ヶ国のロード時間の平均

まとめ

Android 開発は面倒 – Web の技術を流用する手法もあり Cordva / PhoneGap 古い OS のサポートも面倒 – 旧 Ver は遅い, API ( 機能 ) が少ない, バグが多い – ターゲット層によって対象を絞る

参考文献 InternetSupervision 高速・軽量・高機能 ……Nginx の基礎知識 (1/2) Dashboards | Android Developers

PRESENTATION NAME Company Name

Title Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas.

Title Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas.

Title Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas.