Data APIで作る スマホアプリ

55
Data API ででで でででででで 2016/02/22 でででででででででで でででで @MT でで -21 Data API 3.0

Transcript of Data APIで作る スマホアプリ

Page 1: Data APIで作る スマホアプリ

Data API で作るスマホアプリ2016/02/22エムロジック株式会社 関根元和

@MT 東京 -21 Data API 3.0

Page 2: Data APIで作る スマホアプリ

自己紹介

Page 3: Data APIで作る スマホアプリ

関根元和エムロジック株式会社 取締役iOS アプリの開発をしていますStoryEditor 、ペタろう、 PiloWeb 、 MovableType 日本語版、 CuteDbook 、 Twit 、 BPM 、ミイル、 SUGARWAVE 、トレタ、 SENSEINOTE

Page 4: Data APIで作る スマホアプリ

Movable Type for iOS

Page 5: Data APIで作る スマホアプリ

CHEEBOW

週末音楽家作曲、編曲、プロデュースライブアイドルを中心に楽曲提供しています

Page 6: Data APIで作る スマホアプリ

夢眠ねむ ( でんぱ組 .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で作る スマホアプリ

割とガチ

Page 8: Data APIで作る スマホアプリ

Movable Type とわたし

Page 9: Data APIで作る スマホアプリ

iOS アプリ開発

Page 10: Data APIで作る スマホアプリ

必要なものMacXcodeApple Developer ProgramiPhone

Page 11: Data APIで作る スマホアプリ

Mac

Page 12: Data APIで作る スマホアプリ

Mac

iMacMacBook ProMacBook AirMac ならどれでも大丈夫です!OS X Yosemite 10.10.5 以上

Page 13: Data APIで作る スマホアプリ

Xcode

Page 14: Data APIで作る スマホアプリ

Xcode

アプリを作るために必要なものが全部入っていますしかも無料! Mac App Store からダウンロードできます最新バージョンは Xcode 7 。 iOS 9 に対応させるには Xcode 7 が必要です!

Page 15: Data APIで作る スマホアプリ

Apple Developer Program

Page 16: Data APIで作る スマホアプリ

Apple Developer Program

App Store でアプリを配布するために必要年間参加費 11,800 円たとえ配布するのが無料アプリでも、年間参加費が必要です新しい OS もいち早く試すことができます

Page 17: Data APIで作る スマホアプリ

iPhone

Page 18: Data APIで作る スマホアプリ

iPhone

開発そのものは実機がなくてもできますしかし、リリース前には「ほんとに動くのか」確認した方が良いでしょう普段使っている iPhone でも大丈夫ですiPad にも対応させるなら iPad での確認も必要です

Page 19: Data APIで作る スマホアプリ

開発言語

Objective-CSwift

Page 20: Data APIで作る スマホアプリ

Objective-C

C 言語 + オブジェクト指向

Page 21: Data APIで作る スマホアプリ

float ver = [[[UIDevice currentDevice] systemVersion] floatValue]; if (ver >= 7.0) { [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; }

Page 22: Data APIで作る スマホアプリ

Objective-C

第一印象なんか大カッコ( [] )多すぎ気持ち悪い…

Page 23: Data APIで作る スマホアプリ

Swift

2014 年生まれの新しい言語オープンソースObjective-C よりスッキリしたコードが書けます

Page 24: Data APIで作る スマホアプリ

let ver = (UIDevice.currentDevice().systemVersion as NSString).floatValueif ver >= 7.0 { UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent}

Page 25: Data APIで作る スマホアプリ

Swift

すっきり!今選ぶなら Swift でしょうただし、 Objective-C の知識も必要になることがあります

Page 26: Data APIで作る スマホアプリ

DataAPI を使う

DataAPI を使って Movable Type にアクセスしますiOS アプリ開発では、 Swift で書かれたSDK を使います

Page 27: Data APIで作る スマホアプリ

Swift 用 SDK

https://github.com/movabletype/mt-data-api-sdk-swift

Page 28: Data APIで作る スマホアプリ

CocoaPods

https://cocoapods.org/Mac アプリや iOS アプリ開発者向けのライブラリ管理ツールCocoaPods を使えば簡単に DataAPI SDKを組み込めます

Page 29: Data APIで作る スマホアプリ

platform :ios, '8.0'use_frameworks!

pod 'MTDataAPI-SDK'

Page 30: Data APIで作る スマホアプリ

pod install

Page 31: Data APIで作る スマホアプリ

CocoaPods の使い方詳しくは公式ページを参照https://guides.cocoapods.org/

Page 32: Data APIで作る スマホアプリ

ブログ一覧の取得

Page 33: Data APIで作る スマホアプリ

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で作る スマホアプリ

記事の作成

Page 35: Data APIで作る スマホアプリ

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で作る スマホアプリ

画像のアップロード

Page 37: Data APIで作る スマホアプリ

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で作る スマホアプリ

DataAPI で広がる世界

Page 39: Data APIで作る スマホアプリ
Page 40: Data APIで作る スマホアプリ

DataAPI を使ったチャットアプリ

Page 41: Data APIで作る スマホアプリ

仕組み

Movable Type の記事 = チャットルーム記事へのコメント = 発言

Page 42: Data APIで作る スマホアプリ

デモ

Page 43: Data APIで作る スマホアプリ

JSQMessagesViewController

オープンソースのチャット UI ライブラリhttps://github.com/jessesquires/JSQMessagesViewController

Page 44: Data APIで作る スマホアプリ

メッセージ送信

Page 45: Data APIで作る スマホアプリ

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で作る スマホアプリ

メッセージ受信

Page 47: Data APIで作る スマホアプリ

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で作る スマホアプリ

再構築どうせデータにアクセスするだけなのでテンプレートは空でもいいのでは再構築のない世界へ (笑 )API に「再構築しない」オプションが追加されるといいなぁ……

Page 49: Data APIで作る スマホアプリ

MT≠CMS

Blog ツールとして生まれた MTCMS と進化しそして、 Web アプリのバックエンドへ

Page 50: Data APIで作る スマホアプリ

興味のある方は

https://github.com/cheebow/MTChatAppプロジェクトがダウンロードできます

Page 51: Data APIで作る スマホアプリ

まとめ

Page 52: Data APIで作る スマホアプリ

DataAPI + iOS

Movable Type をカスタマイズ自由なWeb アプリケーションのバックエンドとしてDataAPI で簡単にアクセス夢が広がりますね!

Page 53: Data APIで作る スマホアプリ

iOS アプリ開発

iOS アプリの開発は敷居が高いかも……そんな時は、ぜひ、エムロジック株式会社にお問い合わせください!

Page 54: Data APIで作る スマホアプリ

質疑応答

Page 55: Data APIで作る スマホアプリ

おしまい