41
TECHNOMOBILE GROUP HEAD OFFICE TOKUSHIMA development section | 5floor Column Minamiaoyama,7-1-5,Minamiaoyama,Minato-ku,Tokyo 107-0062,Japan | 3floor Tokushimakenkohkagaku-center,Hiraishisumiyoshi,Kawauchi-cho,Tokushima-shi Tokushi ひひひひひひひひひササササササササササササササササJavaScript サササササササササササササササササササ (iPhone,Android,Web) ササササ Monaca サ MBaaS(KiiC oud) サササ JavaScript サササササササササササササササPHP サササササササササササササササ JavaScript サササ サササササササササササササ 一。

ひとりでできるもん!サーバープログラム不要、Java Scriptだけで作るハイブリッドアプリ(iphone,android,web)実践作成

  • Upload
    -

  • View
    201

  • Download
    3

Embed Size (px)

Citation preview

TECHNOMOBILEGROUP 

HEAD OFFICETOKUSHIMA development section

|  5floor Column Minamiaoyama,7-1-5,Minamiaoyama,Minato-ku,Tokyo 107-0062,Japan|  3floor Tokushimakenkohkagaku-center,Hiraishisumiyoshi,Kawauchi-cho,Tokushima-shi Tokushima 771-0134,Japan

ひとりでできるもん!サーハーフロクラム不要で、 JavaScriptたけで作るハイフリットアフリ (iPhone,Android,Web)実践作成 

MonacaとMBaaS(KiiCl oud)を使い JavaScriptたけで本格アフリを作りましょう。PHPなどのサーハー処理は全く不要で JavaScriptたけで一人で作成しちゃいましょう。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.2

一人でアフリを作るのって大変じゃないですか?

サーハーと通信しないゲームならなんとかりそう。。。でも

Androidの開発では Javaの技術が必要。

iOSでは Swiftが必要

Webでは HTML+ JavaScriptが

サーハーでは PHPを勉強しないと

データベースはMySQLを。。。。

AWSのクラウトも構築しないと。。。

etc.....

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.3

じゃあ協力者を集めてつくりますか。。

そんな、リーダーシッフないし。。。。説得する自信もない。どんたけ人数必要なの?

コミュ症たし。。。

そもそも友達がいないorz

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.4

みなさん、これたけの人を集めて、自分が作りたいサービスを作る自身がありますか?

すべて自分で勉強できますか?

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.5

どんたけ勉強すればいいんたよ。。。

チームが作れるならとっくに独立して会社作ってるわw

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.6

できるんです。ひとりで!

HTML5ベース+MBaaSで!!!使う言語は JavaScriptたけ!

それってWebたけじゃん

Cordovaを使えば、 Push通知、 GPS、加速度センサ、 Beaconなどスマホの機能も使えるんです。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.7

JavaScriptの知識たけでハイフリットな本格アフリを作りましょう!

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.8

ひとりでできるもん!

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.9

この学びの対象者は?→JavaScriptは使えるけど、 PHPなどのサーハー側の処理は難しいと思っている人。JavaScriptたけでサーハー処理が実現できます。Macユーザ向けに作成していますが、Windowsでも動く

教えないことは?→ばりばりの JavaScriptフロクラマーではないので深い知識はありません。難しい質問はしないで。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.10

講師Gashfara,Inc.代表  デジタルハリウット大学院客員講師茂木健一[email protected] [email protected] http://facebook.com/mogikenhttp://www.slideshare.net/mogiken1

 

自己紹介[フロフィール /実績 ]もぎ・けんいち●青山学院大学大学院卒。 Gashfara,Inc.代表。本社はハワイですが出社したことなし。ホノルルマラソンには参加w青山学院大学大学院卒:エニックスでオリジナルゲーム制作 (Z80アセンフラ CP/M)、 SmallTalkで人工知能開発(企業買収)。

(株)東洋情報システム退社後、(株)エイチアイ、クランスフィア(株)、(株)ファッションウォーカー(えびもえの EC)など数社のベンチャー企業の立ち上げ・創業期に参画し、ガシュファラ・インクを USで起業。システム開発ではゲーム、 TOL(ツタヤオンライン)の立ち上げ。動画配信システム (USENの Gate01: Gyaoの前進 )、電子マネーシステム( Bitcash)、 ECフルフィルメントシステムなど、多彩な分野を経験。 IT関連教育では 1998年ころからデジハリの2.5階に間借りしながら教育コンテンツ作成( JIB社)。 Brew、 Java、セキュリティーなどの講師として活躍。現在、(株) HUGGを設立し、スマホのカッフル向け SNSサービス [HUGG]をクローハルに展開。㈱テクノモハイルにて技術サポート。

【著書】BREWフロクラミンク実践ハイフル [ 共著 ] (インフレス)、 PHP 逆引き大全 516の極意 [ 共著 ](秀和システム)

11

成長を実現させるシステム”モハイルトータルソリューション”

Webシステム

スマホアフリ

2 ゲームアフリ

3

モハイルトータルソリューション

B2B2C

コンシューマ向けの大規模 Webシステムの開発からアフリ・ゲーム開発までをマルチデハイスで対応

Technology 高い技術力 Market 市場ニーズとマッチ

大規模Webシステムに強い

Java,PHP

Strong1最先端技術・独自フレームワークで

効率的な開発

Strong2高トラフィック、

インフラネットワークに強い

Strong3 フライマリーベンダー、

ヒアリンク・要件定義に強いStrongⅠ

情報資産の活用最先端と知見に強い

StrongⅡ

最先端のマルチデハイス

ウェアラフルに強い

StrongⅢ

Mashup Awards 5 年連続 受賞会社名 株式会社テクノモハイル

設 立 2008年

資本金 2,500 万円

代 表 播田 誠

従業員数 100 名(クルーフ合計)

本社所在地 〒 107-0062 

東京都港区南青山 7-1-5 コラム南青山

5F

開発室 〒 771-0134

徳島県徳島市川内町平石住吉 209-5

徳島健康科学総合センター 3F

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.12

どんなアフリを作るの?

SNS(情報共有)アフリ。ID, パスワートでユーザ登録をし、メッセージを共有できます。

※ 応用範囲は広く、画像投稿、いいね機能を追加すれば、フリーマーケット、Airbnb 空き部屋共有、デート情報共有などに改造しやすい。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.13

Monacaとは?

HTML5を使ったアフリ開発環境です。・開発環境はフラウザで動作します。 Gitなどと連携したい時は LocalKitという PCで動くツールを使います。・ JavaScriptで作ります。・ SPAになります。・実行環境

こんなことができる: https://ja.monaca.io/book/support/ 

Monaca

Cordva(ハート処理: GPS、加速度センサ、 Beacon)

HTML5Onsen UI(AngularJS、 Bootstrap)

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.14

MBaaS(KiiCloud)とは?

クライアントから APIを実行するたけでサーハ側のデータやファイル、ユーザ認証ができるクラウトサービスです。MBaaS

従来のアフリ構成

アフリ (iPhone,Android,JavaScript) サーハー (PHP,Java...)

データベース

ファイルサーハーアフリとサーハーフロクラム、データベースなどの複数の知識が必要

MBaaSのアフリ構成

アフリ (iPhone,Android,JavaScript) MBaaS(ユーザ認証 ,データベース ,ファイルサーハー )

アフリのフロクラミンク知識たけで開発可能SDKの APIを実行するたけ。 DBも JSON 形式で自由に登録できます。テーフルを用意するなどの準備は不要。

ユーザ認証、データ保存(JSON 形式 )、ファイル UPなどの機能を SDK( JS Android iPhone)で提供

SDK

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.15

KiiCloudの情報

http://documentation.kii.com/ja/guides/javascript/quickstart/http://www.riaxdnp.jp/?p=6722 

API

参考

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.16

Monacaのユーザー登録をしましょう

https://ja.monaca.io/  ここにアクセスしてユーザ登録してくたさい。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.17

サンフルを動かしてみましょう

無償版では最大3フロジェクトまで作成できます。

HelloWorldを動かしましょう。

②QRコートからアフリをダウンロート

③ 登録アカウントでロクイン

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.18

① 接続メッセージが表示されれば OKです。PCとアフリは同じWiFiに接続していないと認識されません。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.19

①アフリを動かしてみましょう。

②フロクラムをのぞいてみましょう。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.20

KiiCloudのユーザー登録をしましょう

http://jp-cloud.kii.com/ ここにアクセスしてユーザ登録してくたさい。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.21

KiiCloudにロクインしましょう

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.22

KiiCloudのアフリ環境を作りましょう

①②

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.23

KiiCloudの SDKをダウンローしてアクセスキーをメモ

①JSの SDKファイルをダウンロート。拡張子が .jsになっていない時は修正してくたさい。

③アクセスキー2つをメモしてくたさい。これを使ってクライアントアフリからアクセスします。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.24

Monacaでフロジェクトを作りましょう

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.25

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.26

Monacaのフル機能をつかって本格アフリを作りましょう

今回作成したフロジェクトファイルを下記からダウンロートして下さい。

https://goo.gl/G0TZta

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.27

フロジェクトをインポートします。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.28

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.29

KiiCloudのアクセスキーを設定しましょう

Kii.initializeWithSite("自分のアクセスキーに変更 ", "自分のアクセスキーに変更 ", KiiSite.JP);

index.htmlの下記の部分を自分の KiiCloudのアクセスキー (app id,app key)に変更してくたさい。 KiiCloudの管理画面で確認できます。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.30

Monacaでデハックするには

①アフリでエラーが発生すると Consoleにエラーが表示されます

※abcの Functionはありません(エラー)

フレークポイントの機能はありません。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.31

①フレビューを使うとフラウザで動作確認できます。

②エラーメッセージはChromeなどの JavaScriptコンソールに表示されます。たたし、MonacaIDEのエラーも表示されるのでデハックしにくい。スマホでエラーが出なければOK.console.log()が表示されないことも多い。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.32

保存データを見るには?

KiiCloudの管理画面で DataBrowserで確認できます。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.33

フロクラムの解説

index.html

regist.htmllist.html

post.htmlapp.js

ファイル構成・ app.jsに JavaScriptをまとめて記載します。 

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.34

index.html 全体のページ・ loader.jsが componentsのライフラリーを読み込むための JS。コンポーネントはMonacaの UIから編集できます。・ html5-cloud-sdk-xx.jsが KiiCloudの SDK・ app.jsに自由に JSの関数を定義しておく。 HTMLは含まないように!・<ons-xxx>は OnsenUIのタク。ここを一読:     

http://ja.onsen.io/guide/overview.html ・ ng-controllerが AngularJSのコントローラです。このコントローラ毎に処理を記述します。複数定義することも出来ます。 ng-xxが AngularJSの機能になります。・ ons-navigatorが画面表示と遷移を制御します。・ ons-templateが表示部品を管理します。

regist.html 新規登録・ロクイン画面・ ons-pageが表示ページです。・ ons-toolbarがツールハーの表示・ ons-buttonが OnsenUIのボタン。 ng-clickが便利なので。・ ng-clickで属しているコントローラの関数が実行できる (app.controllerで定義した $scope.xxxという関数 )。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.35

list.html 一覧表示・ ons-toolbar-buttonがツールハーのボタンを表示・ ons-listがテーフル表示・ ons-list-itemでデータ1件を表示します・ ng-repeat=“message in messages”で $scope.messagesの配列を繰り返し、変数messageに代入します。 AngularJSの機能。・ {{ message.message }} 表示するデータを {{}}で指定します。

post.html 投稿・他と同じ。データの保存も JSON 形式で保存します。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.36

画面・機能を追加するポイント

画面の追加・<ons-page>を記載した htmlファイルを追加する。・ onClick=“myNavigator.pushPage(‘xxx.html’)”のように画面遷移する

機能追加・ ng-clickで実行したい関数はコントローラーで $scopeに追加する。

$scope.functionName = function() { xxxx; };・ずっと保持したい変数は $scope.xx = yyyのように $scopeに代入しておく。・データクラス( Entity)は app.factoryで定義する ( 例:Message)。使用するコントローラの引数に追加する。 app.controller('MyController', function($scope,Message) ...

  

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.37

応用範囲は広く、画像投稿、いいね機能を追加すれば、フリーマーケット、 Airbnb 空き部屋共有、デート情報共有などに改造しやすい。

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.38

KiiCloudTips 画像を UPするには? アクセス権は?

●画像の UP:KiiCloudの APIリファレンスにサンフルがあるのでこれを参考にしてくたさい。ハケットに FileBodyが追加されるイメージです。

http://docs.kii.com/references/js/storage/latest/symbols/KiiObject.html#uploadBody 

●アクセス権:今回使用したハケットmessageDataはフリケーションスコーフに作成され、ロクインユーザであれば誰でも操作できます。特定のユーザたけ、クルーフたけでデータを共有したい時は、ユーザースコーフ、クルーフスコーフにハケットを作成して ACLで権限を付与します。参考:http://documentation.kii.com/ja/guides/javascript/managing-data/buckets/setting-acl/http://www.riaxdnp.jp/?p=6770  

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.40

AppleStoreにリリースするには

通常の iOSアフリと同じように申請することが出来ます。ここに詳細手順が記載されています。

http://docs.monaca.mobi/cur/ja/manual/deploy/appstore/reg_appstore/ 

COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.41

もっとMonacaを学ぶには?

http://goo.gl/xbq7Vy