Data APIで作る スマホアプリ
-
Upload
motokazu-sekine -
Category
Mobile
-
view
1.346 -
download
0
Transcript of Data APIで作る スマホアプリ
![Page 1: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/1.jpg)
Data API で作るスマホアプリ2016/02/22エムロジック株式会社 関根元和
@MT 東京 -21 Data API 3.0
![Page 2: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/2.jpg)
自己紹介
![Page 3: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/3.jpg)
関根元和エムロジック株式会社 取締役iOS アプリの開発をしていますStoryEditor 、ペタろう、 PiloWeb 、 MovableType 日本語版、 CuteDbook 、 Twit 、 BPM 、ミイル、 SUGARWAVE 、トレタ、 SENSEINOTE
![Page 4: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/4.jpg)
Movable Type for iOS
![Page 5: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/5.jpg)
CHEEBOW
週末音楽家作曲、編曲、プロデュースライブアイドルを中心に楽曲提供しています
![Page 6: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/6.jpg)
夢眠ねむ ( でんぱ組 .inc)ディアステージアイドル部愛乙女★ DOLLCOSMIC STAGEDoll☆Elements
Jewel Kiss逢沢ありあT!P丸山夏鈴asfi佐野友里子 ( 愛乙女★ DOLL)
Honey Squashハックガールズ白鹿はるの飴涙めるLuce Twinkle Wink☆
マボロシ可憐 GeNE留守番ガールズハピドル〜 Happy Idol Project 〜佐原百音Ange☆Reve
PIP: Platonics Idol PlatformPICK UP GIRLS 」Carnival☆StarsRYUKYU IDOLじぇるの!
S☆UTHERN CROSSLovin & S
SnowRabbit feat. 鈴木ゆきLasRabbi神宿
CAMOUFLAGE
![Page 7: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/7.jpg)
割とガチ
![Page 8: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/8.jpg)
Movable Type とわたし
![Page 9: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/9.jpg)
iOS アプリ開発
![Page 10: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/10.jpg)
必要なものMacXcodeApple Developer ProgramiPhone
![Page 11: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/11.jpg)
Mac
![Page 12: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/12.jpg)
Mac
iMacMacBook ProMacBook AirMac ならどれでも大丈夫です!OS X Yosemite 10.10.5 以上
![Page 13: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/13.jpg)
Xcode
![Page 14: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/14.jpg)
Xcode
アプリを作るために必要なものが全部入っていますしかも無料! Mac App Store からダウンロードできます最新バージョンは Xcode 7 。 iOS 9 に対応させるには Xcode 7 が必要です!
![Page 15: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/15.jpg)
Apple Developer Program
![Page 16: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/16.jpg)
Apple Developer Program
App Store でアプリを配布するために必要年間参加費 11,800 円たとえ配布するのが無料アプリでも、年間参加費が必要です新しい OS もいち早く試すことができます
![Page 17: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/17.jpg)
iPhone
![Page 18: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/18.jpg)
iPhone
開発そのものは実機がなくてもできますしかし、リリース前には「ほんとに動くのか」確認した方が良いでしょう普段使っている iPhone でも大丈夫ですiPad にも対応させるなら iPad での確認も必要です
![Page 19: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/19.jpg)
開発言語
Objective-CSwift
![Page 20: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/20.jpg)
Objective-C
C 言語 + オブジェクト指向
![Page 21: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/21.jpg)
float ver = [[[UIDevice currentDevice] systemVersion] floatValue]; if (ver >= 7.0) { [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; }
![Page 22: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/22.jpg)
Objective-C
第一印象なんか大カッコ( [] )多すぎ気持ち悪い…
![Page 23: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/23.jpg)
Swift
2014 年生まれの新しい言語オープンソースObjective-C よりスッキリしたコードが書けます
![Page 24: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/24.jpg)
let ver = (UIDevice.currentDevice().systemVersion as NSString).floatValueif ver >= 7.0 { UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent}
![Page 25: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/25.jpg)
Swift
すっきり!今選ぶなら Swift でしょうただし、 Objective-C の知識も必要になることがあります
![Page 26: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/26.jpg)
DataAPI を使う
DataAPI を使って Movable Type にアクセスしますiOS アプリ開発では、 Swift で書かれたSDK を使います
![Page 27: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/27.jpg)
Swift 用 SDK
https://github.com/movabletype/mt-data-api-sdk-swift
![Page 28: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/28.jpg)
CocoaPods
https://cocoapods.org/Mac アプリや iOS アプリ開発者向けのライブラリ管理ツールCocoaPods を使えば簡単に DataAPI SDKを組み込めます
![Page 29: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/29.jpg)
platform :ios, '8.0'use_frameworks!
pod 'MTDataAPI-SDK'
![Page 30: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/30.jpg)
pod install
![Page 31: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/31.jpg)
CocoaPods の使い方詳しくは公式ページを参照https://guides.cocoapods.org/
![Page 32: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/32.jpg)
ブログ一覧の取得
![Page 33: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/33.jpg)
import MTDataAPI_SDK
let api = DataAPI.sharedInstanceapi.APIBaseURL = “http://host/mt/mt-data-api.cgi"
api.authentication("username", password: "password", remember: true, success:{_ in api.listSites( success: {(result: [JSON]!, total: Int!)-> Void in print(items) }, failure: {(error: JSON!)-> Void in } ) }, failure: {(error: JSON!)-> Void in })
![Page 34: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/34.jpg)
記事の作成
![Page 35: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/35.jpg)
import MTDataAPI_SDK
let api = DataAPI.sharedInstanceapi.APIBaseURL = "http://host/mt/mt-data-api.cgi"
var entry = [String:String]()entry["title"] = "title"entry["body"] = "text"entry["status"] = "Publish"
api.authentication("username", password: "password", remember: true, success:{_ in api.createEntry(siteID: "1", entry: entry, success: {(result: JSON!)-> Void in print(result) }, failure: {(error: JSON!)-> Void in } ) }, failure: {(error: JSON!)-> Void in })
![Page 36: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/36.jpg)
画像のアップロード
![Page 37: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/37.jpg)
import MTDataAPI_SDK
let api = DataAPI.sharedInstanceapi.APIBaseURL = “http://host/mt/mt-data-api.cgi"
api.authentication("username", password: "password", remember: true, success: {_ in let image = UIImage(named:"photo") let data = UIImageJPEGRepresentation(image!, 1.0) api.uploadAssetForSite("1", assetData: data!, fileName: "photo.jpeg", options: ["path":"/images", "autoRenameIfExists":"true"], success: {(result: JSON!)-> Void in print(result) }, failure: {(error: JSON!)-> Void in } ) }, failure: {(error: JSON!)-> Void in })
![Page 38: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/38.jpg)
DataAPI で広がる世界
![Page 39: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/39.jpg)
![Page 40: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/40.jpg)
DataAPI を使ったチャットアプリ
![Page 41: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/41.jpg)
仕組み
Movable Type の記事 = チャットルーム記事へのコメント = 発言
![Page 42: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/42.jpg)
デモ
![Page 43: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/43.jpg)
JSQMessagesViewController
オープンソースのチャット UI ライブラリhttps://github.com/jessesquires/JSQMessagesViewController
![Page 44: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/44.jpg)
メッセージ送信
![Page 45: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/45.jpg)
var comment = [String:String]()comment["body"] = text
self.inputToolbar?.contentView?.rightBarButtonItem?.enabled = false
self.api.authentication(USERNAME, password: PASSWORD, remember: true, success:{_ in self.api.createCommentForEntry( siteID: self.SITE_ID, entryID: self.ENTRY_ID, comment: comment, success: {(result: JSON!)-> Void in self.inputToolbar?.contentView?.rightBarButtonItem?.enabled = true self.finishSendingMessageAnimated(true) self.receiveMessage() }, failure: {(error: JSON!)-> Void in self.inputToolbar?.contentView?.rightBarButtonItem?.enabled = true } ) }, failure: {(error: JSON!)-> Void in self.inputToolbar?.contentView?.rightBarButtonItem?.enabled = true })
![Page 46: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/46.jpg)
メッセージ受信
![Page 47: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/47.jpg)
let options = [ "limit":"100", "no_text_filter":"1", "fields":"author,body"]
self.api.authentication(USERNAME, password: PASSWORD, remember: true, success:{_ in self.api.listCommentsForEntry( siteID: self.SITE_ID, entryID: self.ENTRY_ID, options: options, success: {(items:[JSON]!, total:Int!)-> Void in self.messagesFromJSON(items) }, failure: {(error: JSON!)-> Void in } ) }, failure: {(error: JSON!)-> Void in })
![Page 48: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/48.jpg)
再構築どうせデータにアクセスするだけなのでテンプレートは空でもいいのでは再構築のない世界へ (笑 )API に「再構築しない」オプションが追加されるといいなぁ……
![Page 49: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/49.jpg)
MT≠CMS
Blog ツールとして生まれた MTCMS と進化しそして、 Web アプリのバックエンドへ
![Page 50: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/50.jpg)
興味のある方は
https://github.com/cheebow/MTChatAppプロジェクトがダウンロードできます
![Page 51: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/51.jpg)
まとめ
![Page 52: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/52.jpg)
DataAPI + iOS
Movable Type をカスタマイズ自由なWeb アプリケーションのバックエンドとしてDataAPI で簡単にアクセス夢が広がりますね!
![Page 53: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/53.jpg)
iOS アプリ開発
iOS アプリの開発は敷居が高いかも……そんな時は、ぜひ、エムロジック株式会社にお問い合わせください!
![Page 54: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/54.jpg)
質疑応答
![Page 55: Data APIで作る スマホアプリ](https://reader035.fdocument.pub/reader035/viewer/2022062310/5873bcf71a28abbc788b5af7/html5/thumbnails/55.jpg)
おしまい