Submit Search
Upload
Data APIで作る スマホアプリ
•
Download as PPTX, PDF
•
5 likes
•
2,676 views
Motokazu Sekine
Follow
MT東京-21 Data API 3.0
Read less
Read more
Mobile
Report
Share
Report
Share
1 of 55
Download now
Recommended
アイドルソング制作の工程管理
アイドルソング制作の工程管理
Motokazu Sekine
アイドル楽曲解体新書
アイドル楽曲解体新書
Motokazu Sekine
MUSICIAN HACKATHON 2016
MUSICIAN HACKATHON 2016
Gyoda Nawoshi
RaspberryPiを音声コントロールしてみた話
RaspberryPiを音声コントロールしてみた話
yousuketakahashi2
テレビさんというslack読み上げbotについて
テレビさんというslack読み上げbotについて
寿文 大道寺
UE4学園追放による頭位置移動入力方法
UE4学園追放による頭位置移動入力方法
Konabe Kurisaka
さぼろうくん(仮) @ おばかIoT選手権 2016
さぼろうくん(仮) @ おばかIoT選手権 2016
寿文 大道寺
声優やぞ!~シンデレラガールズにおける配役の歴史のRDFデータ化~
声優やぞ!~シンデレラガールズにおける配役の歴史のRDFデータ化~
Hiro H.
Recommended
アイドルソング制作の工程管理
アイドルソング制作の工程管理
Motokazu Sekine
アイドル楽曲解体新書
アイドル楽曲解体新書
Motokazu Sekine
MUSICIAN HACKATHON 2016
MUSICIAN HACKATHON 2016
Gyoda Nawoshi
RaspberryPiを音声コントロールしてみた話
RaspberryPiを音声コントロールしてみた話
yousuketakahashi2
テレビさんというslack読み上げbotについて
テレビさんというslack読み上げbotについて
寿文 大道寺
UE4学園追放による頭位置移動入力方法
UE4学園追放による頭位置移動入力方法
Konabe Kurisaka
さぼろうくん(仮) @ おばかIoT選手権 2016
さぼろうくん(仮) @ おばかIoT選手権 2016
寿文 大道寺
声優やぞ!~シンデレラガールズにおける配役の歴史のRDFデータ化~
声優やぞ!~シンデレラガールズにおける配役の歴史のRDFデータ化~
Hiro H.
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]
funyamora
Kawazとは
Kawazとは
Taku Fujimoto
楽しい!に敏感であること
楽しい!に敏感であること
ssuser2dc1cb
キャラサミ「渚の妖精ぎばさちゃん」20141124
キャラサミ「渚の妖精ぎばさちゃん」20141124
Katsushiro Koizumi
彼女造ったへの道
彼女造ったへの道
haru2036
Swift Optional without Syntax Sugar
Swift Optional without Syntax Sugar
Hisakuni Fujimoto
niconico_chokaigi20120427
niconico_chokaigi20120427
Shin Semiya
WP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura Tah
Takashi Kitamura
クラウドストレージを使って音声投稿サイトを作った話
クラウドストレージを使って音声投稿サイトを作った話
dokechin
More Related Content
What's hot
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]
funyamora
Kawazとは
Kawazとは
Taku Fujimoto
楽しい!に敏感であること
楽しい!に敏感であること
ssuser2dc1cb
キャラサミ「渚の妖精ぎばさちゃん」20141124
キャラサミ「渚の妖精ぎばさちゃん」20141124
Katsushiro Koizumi
彼女造ったへの道
彼女造ったへの道
haru2036
Swift Optional without Syntax Sugar
Swift Optional without Syntax Sugar
Hisakuni Fujimoto
niconico_chokaigi20120427
niconico_chokaigi20120427
Shin Semiya
WP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura Tah
Takashi Kitamura
クラウドストレージを使って音声投稿サイトを作った話
クラウドストレージを使って音声投稿サイトを作った話
dokechin
What's hot
(9)
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]
Kawazとは
Kawazとは
楽しい!に敏感であること
楽しい!に敏感であること
キャラサミ「渚の妖精ぎばさちゃん」20141124
キャラサミ「渚の妖精ぎばさちゃん」20141124
彼女造ったへの道
彼女造ったへの道
Swift Optional without Syntax Sugar
Swift Optional without Syntax Sugar
niconico_chokaigi20120427
niconico_chokaigi20120427
WP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura Tah
クラウドストレージを使って音声投稿サイトを作った話
クラウドストレージを使って音声投稿サイトを作った話
Data APIで作る スマホアプリ
1.
Data APIで作る スマホアプリ 2016/02/22 エムロジック株式会社 関根元和 @MT東京-21
Data API 3.0
2.
自己紹介
3.
関根元和 エムロジック株式会社 取締役 iOSアプリの開発をしています StoryEditor、ペタろう、PiloWeb、 MovableType日本語版、CuteDbook、Twit 、BPM、ミイル、SUGARWAVE、トレタ 、SENSEINOTE
4.
Movable Type for
iOS
5.
CHEEBOW 週末音楽家 作曲、編曲、プロデュース ライブアイドルを中心に楽曲提供していま す
6.
夢眠ねむ(でんぱ組.inc) ディアステージアイドル部 愛乙女★DOLL COSMIC STAGE Doll☆Elements Jewel Kiss 逢沢ありあ T!P 丸山夏鈴 asfi 佐野友里子(愛乙女★DOLL) Honey
Squash ハックガールズ 白鹿はるの 飴涙める Luce Twinkle Wink☆ マボロシ可憐GeNE 留守番ガールズ ハピドル〜Happy Idol Project〜 佐原百音 Ange☆Reve PIP: Platonics Idol Platform PICK UP GIRLS」 Carnival☆Stars RYUKYU IDOL じぇるの! S☆UTHERN CROSS Lovin&S SnowRabbit feat. 鈴木ゆき LasRabbi 神宿 CAMOUFLAGE
7.
割とガチ
8.
Movable Typeとわたし
9.
iOSアプリ開発
10.
必要なもの Mac Xcode Apple Developer Program iPhone
11.
Mac
12.
Mac iMac MacBook Pro MacBook Air Macならどれでも大丈夫です! OS
X Yosemite 10.10.5以上
13.
Xcode
14.
Xcode アプリを作るために必要なものが全部入って います しかも無料! Mac App Storeからダウンロードできます 最新バージョンはXcode
7。iOS 9に対応させ るにはXcode 7が必要です!
15.
Apple Developer Program
16.
Apple Developer Program App Storeでアプリを配布するために必要 年間参加費
11,800円 たとえ配布するのが無料アプリでも、年間 参加費が必要です 新しいOSもいち早く試すことができます
17.
iPhone
18.
iPhone 開発そのものは実機がなくてもできます しかし、リリース前には「ほんとに動くのか 」確認した方が良いでしょう 普段使っているiPhoneでも大丈夫です iPadにも対応させるならiPadでの確認も必要 です
19.
開発言語 Objective-C Swift
20.
Objective-C C言語+オブジェクト指向
21.
float ver =
[[[UIDevice currentDevice] systemVersion] floatValue]; if (ver >= 7.0) { [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; }
22.
Objective-C 第一印象 なんか大カッコ([])多すぎ 気持ち悪い…
23.
Swift 2014年生まれの新しい言語 オープンソース Objective-Cよりスッキリしたコードが書け ます
24.
let ver =
(UIDevice.currentDevice().systemVersion as NSString).floatValue if ver >= 7.0 { UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent }
25.
Swift すっきり! 今選ぶならSwiftでしょう ただし、Objective-Cの知識も必要になるこ とがあります
26.
DataAPIを使う DataAPIを使ってMovable Typeにアクセス します iOSアプリ開発では、Swiftで書かれたSDK を使います
27.
Swift用SDK https://github.com/movabletype/mt-data- api-sdk-swift
28.
CocoaPods https://cocoapods.org/ Mac アプリや iOS
アプリ開発者向けのラ イブラリ管理ツール CocoaPodsを使えば簡単にDataAPI SDKを 組み込めます
29.
platform :ios, '8.0' use_frameworks! pod
'MTDataAPI-SDK'
30.
pod install
31.
CocoaPodsの使い方 詳しくは公式ペー ジを参照 https://guides.coco apods.org/
32.
ブログ一覧の取得
33.
import MTDataAPI_SDK let api
= DataAPI.sharedInstance api.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 } )
34.
記事の作成
35.
import MTDataAPI_SDK let api
= DataAPI.sharedInstance api.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 } )
36.
画像のアップロード
37.
import MTDataAPI_SDK let api
= DataAPI.sharedInstance api.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 } )
38.
DataAPIで広がる世界
39.
40.
DataAPIを使った チャットアプリ
41.
仕組み Movable Typeの記事 =
チャットルーム 記事へのコメント = 発言
42.
デモ
43.
JSQMessagesViewContr oller オープンソースのチャットUIライブラリ https://github.com/jessesquires/JSQMessa gesViewController
44.
メッセージ送信
45.
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 } )
46.
メッセージ受信
47.
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 } )
48.
再構築 どうせデータにアクセスするだけなので テンプレートは空でもいいのでは 再構築のない世界へ(笑) APIに「再構築しない」オプションが追加 されるといいなぁ……
49.
MT≠CMS Blogツールとして生まれたMT CMSと進化し そして、Webアプリのバックエンドへ
50.
興味のある方は https://github.com/cheebow/MTChatApp プロジェクトがダウンロードできます
51.
まとめ
52.
DataAPI + iOS Movable
Typeをカスタマイズ自由なWeb アプリケーションのバックエンドとして DataAPIで簡単にアクセス 夢が広がりますね!
53.
iOSアプリ開発 iOSアプリの開発は敷居が高いかも…… そんな時は、ぜひ、エムロジック株式会社 にお問い合わせください!
54.
質疑応答
55.
おしまい
Download now