Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Data APIで作る
スマホアプリ
2016/02/22
エムロジック株式会社 関根元和
@MT東京-21 Data API 3.0
自己紹介
関根元和
エムロジック株式会社 取締役
iOSアプリの開発をしています
StoryEditor、ペタろう、PiloWeb、
MovableType日本語版、CuteDbook、Twit
、BPM、ミイル、SUGARWAVE、トレタ
、SENSE...
Movable Type for iOS
CHEEBOW
週末音楽家
作曲、編曲、プロデュース
ライブアイドルを中心に楽曲提供していま
す
夢眠ねむ(でんぱ組.inc)
ディアステージアイドル部
愛乙女★DOLL
COSMIC STAGE
Doll☆Elements
Jewel Kiss
逢沢ありあ
T!P
丸山夏鈴
asfi
佐野友里子(愛乙女★DOLL)
Honey Squas...
割とガチ
Movable Typeとわたし
iOSアプリ開発
必要なもの
Mac
Xcode
Apple Developer Program
iPhone
Mac
Mac
iMac
MacBook Pro
MacBook Air
Macならどれでも大丈夫です!
OS X Yosemite 10.10.5以上
Xcode
Xcode
アプリを作るために必要なものが全部入って
います
しかも無料!
Mac App Storeからダウンロードできます
最新バージョンはXcode 7。iOS 9に対応させ
るにはXcode 7が必要です!
Apple Developer
Program
Apple Developer
Program
App Storeでアプリを配布するために必要
年間参加費 11,800円
たとえ配布するのが無料アプリでも、年間
参加費が必要です
新しいOSもいち早く試すことができます
iPhone
iPhone
開発そのものは実機がなくてもできます
しかし、リリース前には「ほんとに動くのか
」確認した方が良いでしょう
普段使っているiPhoneでも大丈夫です
iPadにも対応させるならiPadでの確認も必要
です
開発言語
Objective-C
Swift
Objective-C
C言語+オブジェクト指向
float ver = [[[UIDevice currentDevice] systemVersion] floatValue];
if (ver >= 7.0) {
[UIApplication sharedApplication].sta...
Objective-C
第一印象
なんか大カッコ([])多すぎ
気持ち悪い…
Swift
2014年生まれの新しい言語
オープンソース
Objective-Cよりスッキリしたコードが書け
ます
let ver = (UIDevice.currentDevice().systemVersion as NSString).floatValue
if ver >= 7.0 {
UIApplication.sharedApplication(...
Swift
すっきり!
今選ぶならSwiftでしょう
ただし、Objective-Cの知識も必要になるこ
とがあります
DataAPIを使う
DataAPIを使ってMovable Typeにアクセス
します
iOSアプリ開発では、Swiftで書かれたSDK
を使います
Swift用SDK
https://github.com/movabletype/mt-data-
api-sdk-swift
CocoaPods
https://cocoapods.org/
Mac アプリや iOS アプリ開発者向けのラ
イブラリ管理ツール
CocoaPodsを使えば簡単にDataAPI SDKを
組み込めます
platform :ios, '8.0'
use_frameworks!
pod 'MTDataAPI-SDK'
pod install
CocoaPodsの使い方
詳しくは公式ペー
ジを参照
https://guides.coco
apods.org/
ブログ一覧の取得
import MTDataAPI_SDK
let api = DataAPI.sharedInstance
api.APIBaseURL = “http://host/mt/mt-data-api.cgi"
api.authentication...
記事の作成
import MTDataAPI_SDK
let api = DataAPI.sharedInstance
api.APIBaseURL = "http://host/mt/mt-data-api.cgi"
var entry = [Strin...
画像のアップロード
import MTDataAPI_SDK
let api = DataAPI.sharedInstance
api.APIBaseURL = “http://host/mt/mt-data-api.cgi"
api.authentication...
DataAPIで広がる世界
DataAPIを使った
チャットアプリ
仕組み
Movable Typeの記事 = チャットルーム
記事へのコメント = 発言
デモ
JSQMessagesViewContr
oller
オープンソースのチャットUIライブラリ
https://github.com/jessesquires/JSQMessa
gesViewController
メッセージ送信
var comment = [String:String]()
comment["body"] = text
self.inputToolbar?.contentView?.rightBarButtonItem?.enabled = false...
メッセージ受信
let options = [
"limit":"100",
"no_text_filter":"1",
"fields":"author,body"
]
self.api.authentication(USERNAME, password: ...
再構築
どうせデータにアクセスするだけなので
テンプレートは空でもいいのでは
再構築のない世界へ(笑)
APIに「再構築しない」オプションが追加
されるといいなぁ……
MT≠CMS
Blogツールとして生まれたMT
CMSと進化し
そして、Webアプリのバックエンドへ
興味のある方は
https://github.com/cheebow/MTChatApp
プロジェクトがダウンロードできます
まとめ
DataAPI + iOS
Movable Typeをカスタマイズ自由なWeb
アプリケーションのバックエンドとして
DataAPIで簡単にアクセス
夢が広がりますね!
iOSアプリ開発
iOSアプリの開発は敷居が高いかも……
そんな時は、ぜひ、エムロジック株式会社
にお問い合わせください!
質疑応答
おしまい
Data APIで作る スマホアプリ
Upcoming SlideShare
Loading in …5
×

Data APIで作る スマホアプリ

2,057 views

Published on

MT東京-21 Data API 3.0

Published in: Mobile
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • -- DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT -- ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... (Unlimited)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • -- DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT -- ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... (Unlimited)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Data APIで作る スマホアプリ

  1. 1. Data APIで作る スマホアプリ 2016/02/22 エムロジック株式会社 関根元和 @MT東京-21 Data API 3.0
  2. 2. 自己紹介
  3. 3. 関根元和 エムロジック株式会社 取締役 iOSアプリの開発をしています StoryEditor、ペタろう、PiloWeb、 MovableType日本語版、CuteDbook、Twit 、BPM、ミイル、SUGARWAVE、トレタ 、SENSEINOTE
  4. 4. Movable Type for iOS
  5. 5. CHEEBOW 週末音楽家 作曲、編曲、プロデュース ライブアイドルを中心に楽曲提供していま す
  6. 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. 7. 割とガチ
  8. 8. Movable Typeとわたし
  9. 9. iOSアプリ開発
  10. 10. 必要なもの Mac Xcode Apple Developer Program iPhone
  11. 11. Mac
  12. 12. Mac iMac MacBook Pro MacBook Air Macならどれでも大丈夫です! OS X Yosemite 10.10.5以上
  13. 13. Xcode
  14. 14. Xcode アプリを作るために必要なものが全部入って います しかも無料! Mac App Storeからダウンロードできます 最新バージョンはXcode 7。iOS 9に対応させ るにはXcode 7が必要です!
  15. 15. Apple Developer Program
  16. 16. Apple Developer Program App Storeでアプリを配布するために必要 年間参加費 11,800円 たとえ配布するのが無料アプリでも、年間 参加費が必要です 新しいOSもいち早く試すことができます
  17. 17. iPhone
  18. 18. iPhone 開発そのものは実機がなくてもできます しかし、リリース前には「ほんとに動くのか 」確認した方が良いでしょう 普段使っているiPhoneでも大丈夫です iPadにも対応させるならiPadでの確認も必要 です
  19. 19. 開発言語 Objective-C Swift
  20. 20. Objective-C C言語+オブジェクト指向
  21. 21. float ver = [[[UIDevice currentDevice] systemVersion] floatValue]; if (ver >= 7.0) { [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; }
  22. 22. Objective-C 第一印象 なんか大カッコ([])多すぎ 気持ち悪い…
  23. 23. Swift 2014年生まれの新しい言語 オープンソース Objective-Cよりスッキリしたコードが書け ます
  24. 24. let ver = (UIDevice.currentDevice().systemVersion as NSString).floatValue if ver >= 7.0 { UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent }
  25. 25. Swift すっきり! 今選ぶならSwiftでしょう ただし、Objective-Cの知識も必要になるこ とがあります
  26. 26. DataAPIを使う DataAPIを使ってMovable Typeにアクセス します iOSアプリ開発では、Swiftで書かれたSDK を使います
  27. 27. Swift用SDK https://github.com/movabletype/mt-data- api-sdk-swift
  28. 28. CocoaPods https://cocoapods.org/ Mac アプリや iOS アプリ開発者向けのラ イブラリ管理ツール CocoaPodsを使えば簡単にDataAPI SDKを 組み込めます
  29. 29. platform :ios, '8.0' use_frameworks! pod 'MTDataAPI-SDK'
  30. 30. pod install
  31. 31. CocoaPodsの使い方 詳しくは公式ペー ジを参照 https://guides.coco apods.org/
  32. 32. ブログ一覧の取得
  33. 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. 34. 記事の作成
  35. 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. 36. 画像のアップロード
  37. 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. 38. DataAPIで広がる世界
  39. 39. DataAPIを使った チャットアプリ
  40. 40. 仕組み Movable Typeの記事 = チャットルーム 記事へのコメント = 発言
  41. 41. デモ
  42. 42. JSQMessagesViewContr oller オープンソースのチャットUIライブラリ https://github.com/jessesquires/JSQMessa gesViewController
  43. 43. メッセージ送信
  44. 44. 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 } )
  45. 45. メッセージ受信
  46. 46. 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 } )
  47. 47. 再構築 どうせデータにアクセスするだけなので テンプレートは空でもいいのでは 再構築のない世界へ(笑) APIに「再構築しない」オプションが追加 されるといいなぁ……
  48. 48. MT≠CMS Blogツールとして生まれたMT CMSと進化し そして、Webアプリのバックエンドへ
  49. 49. 興味のある方は https://github.com/cheebow/MTChatApp プロジェクトがダウンロードできます
  50. 50. まとめ
  51. 51. DataAPI + iOS Movable Typeをカスタマイズ自由なWeb アプリケーションのバックエンドとして DataAPIで簡単にアクセス 夢が広がりますね!
  52. 52. iOSアプリ開発 iOSアプリの開発は敷居が高いかも…… そんな時は、ぜひ、エムロジック株式会社 にお問い合わせください!
  53. 53. 質疑応答
  54. 54. おしまい

×