SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Movable Type Data API
Swiftアプリ作成事例
MTDDC Meetup TOKYO 2016
発 表 内 容
• 自己紹介
• 勉強会の紹介
• 書籍紹介
• サイト紹介
• デモ
• DataAPIの紹介
• iOSアプリのソース実装ポイント紹
介
2
自己紹介
出身は、さいたま市です。
オリンパスソフトウェアテクノロジー㈱
デジタルカメラのFW開発(PEN/OM-D)
3
藤 治仁
(ふじ はるひと)
勉強会を運営しています
DoorKeeperで
「Swiftビギナーズ倶楽部」
「Ruby / Railsビギナーズ倶楽部」
「WordPress もくもくクラブ」
検索
Swiftビギナーズ倶楽部
Ruby on Rails
ビギナーズ倶楽部
WordPressもくもく倶楽部
勉強会を運営しています
Swiftビギナーズ倶楽部 WordPressもくもく倶楽部
勉強会の目的
• 未経験者が開発を行えるようになること
• セッションがうまくなること
• 交流して仲間を増やすこと
Ruby on Rails
ビギナーズ倶楽部
Swiftビギナーズ倶楽部
Swift3 &
Xcode8対応
10 (火)25
全国書店で販売中
/
~Swiftではじめるプログラミングの第一歩~
これからつくるiPhoneアプリ開発入門
Amazon
Swiftビギナーズ倶楽部から生まれた!
Click!
ハンズオンセミナー開催
2016年3月・5月 2回開催
分析結果を書籍に入魂!
・各章を一コマとして授業形式で開催。
・各章ごとに参加者の方々にヒアリングを実施。
・参加者の方々が最初につまずいた声を
徹底的に収集して分析。
▼
これからつくるiPhoneアプリ開発入門
本 書 の 特 徴
こ ん な 人 に
レッスンごとに「カスタマイズ編」を用意
公式サイトでは「応用編」を用意
本 書 の 特 典
他の入門書が難しかった人
これからアプリを作ってみたい人
これからつくるiPhoneアプリ開発入門
https://swiftbg.github.io/swiftbook/
本書の2日目 Lessson 4
http://makanai.sixapart.jp/
Six Apartのごはんレシピ
D E M O
• 検索窓にキーワードを入力すると該当する投稿リスト表示
• リストから投稿を選択するとアプリ内ブラウザ起動し記事を表示
12
Movable Type Data APIについて
• Movable Typeで蓄積されたデータを外部から取り出すことができる
• Data APIを使うと他のアプリケーションとのデータの受渡しが可能
• MovableTypeからのレスポンスはJSON形式
13
主なAPIカテゴリ、様々なAPIが用意されている
14
Movable Type Data APIについて
Common API バージョンに関わらず利用できるAPI
Authentication 認証に関連するAPI群。トークン、セッションID取得など
Assets 画像データ格納など
Categories カテゴリの管理
Comments コメントの管理
Entries 記事の一覧取得
Search 記事検索
search
今回のアプリでは検索Searchの機能を確認する
エンドポイント
search
searchは必須パ
ラメータ
optional
→省略可
省略時の
デフォルト値
Data APIリクエスト
検索キーワードを
URLエンコードする
エンドポイント
作成
リクエスト実行
リクエスト実行箇所
レスポンスを確認
Data APIを使ってレスポンスを確認する
Chrome拡張機能”JSONView”が便利
18
記事のURL
記事のタイトル
JSONデータパース
レスポンスデータを
パースする
“items”を取り出す
JSONパース箇所
“categories>label”を取り
出す
検索ボタン押された時
検索窓パーツの情報が渡される
キーボードを閉じる
一 覧 表 示
1件ごとの
表示内容設定
A T S
• ATS(App Transport Security)は、iOSアプリとインターネットを安全に接
続するために提供されているサービス
• 初期設定では、ATSが有効になっています。そのため、iOSアプリからは「
http://…」のように、httpから始まるHTTP通信はできません。通信を行った
場合は、接続失敗となりエラーとなる
• HTTPS通信はATSが有効時でも通信はできる
• HTTP通信する場合には、ATSの設定が必要
詳しくはこれから作るiPhoneアプリ開発入門公式サポートサイトで!!
https://swiftbg.github.io/swiftbook/tips/ios10ats.html
ま と め
• 検索するときのData APIはSearch
• JSONの内容を確認するときはChromeブラウザ向け拡張機能
”JSONView”使うと便利
• JSONの解析(パース)するときはJSONSerializationクラスで行う
• http通信でリクエストする場合には ATSの制限解除の設定が必要
サンプルコードはGitHubで公開中
https://github.com/FromF/MTSearchSwift
次 回 開 催
25
ご静聴ありがとうございました
ブースにてデモ中!!
書籍も販売中!

Weitere ähnliche Inhalte

Was ist angesagt?

oEmbedで、色んなコンテンツをWordPressに組み込もう!
oEmbedで、色んなコンテンツをWordPressに組み込もう!oEmbedで、色んなコンテンツをWordPressに組み込もう!
oEmbedで、色んなコンテンツをWordPressに組み込もう!Kanako Kobayashi
 
Rails5クイックスタート
Rails5クイックスタートRails5クイックスタート
Rails5クイックスタートHirata Tomoko
 
Swiftのクロージャー
SwiftのクロージャーSwiftのクロージャー
SwiftのクロージャーSatoTakeshi
 
Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Kanako Kobayashi
 
iOSでのFramework導入のおさらい #関モバ
iOSでのFramework導入のおさらい #関モバiOSでのFramework導入のおさらい #関モバ
iOSでのFramework導入のおさらい #関モバSyo Ikeda
 
Yapc asia 2011
Yapc asia 2011Yapc asia 2011
Yapc asia 2011onagatani
 
20180723 okubo mtc_loud_handson
20180723 okubo mtc_loud_handson20180723 okubo mtc_loud_handson
20180723 okubo mtc_loud_handsonSix Apart
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)Kosuke Masumitsu
 

Was ist angesagt? (9)

oEmbedで、色んなコンテンツをWordPressに組み込もう!
oEmbedで、色んなコンテンツをWordPressに組み込もう!oEmbedで、色んなコンテンツをWordPressに組み込もう!
oEmbedで、色んなコンテンツをWordPressに組み込もう!
 
Rails5クイックスタート
Rails5クイックスタートRails5クイックスタート
Rails5クイックスタート
 
Swiftのクロージャー
SwiftのクロージャーSwiftのクロージャー
Swiftのクロージャー
 
Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計
 
iOSでのFramework導入のおさらい #関モバ
iOSでのFramework導入のおさらい #関モバiOSでのFramework導入のおさらい #関モバ
iOSでのFramework導入のおさらい #関モバ
 
Yapc asia 2011
Yapc asia 2011Yapc asia 2011
Yapc asia 2011
 
20180723 okubo mtc_loud_handson
20180723 okubo mtc_loud_handson20180723 okubo mtc_loud_handson
20180723 okubo mtc_loud_handson
 
Walking front end
Walking front endWalking front end
Walking front end
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)
 

Andere mochten auch

周辺機器連携 アプリの申請豊富
周辺機器連携 アプリの申請豊富周辺機器連携 アプリの申請豊富
周辺機器連携 アプリの申請豊富FromF
 
3D Touchアプリを6sないけども作ってみたい(^^ゞ
3D Touchアプリを6sないけども作ってみたい(^^ゞ3D Touchアプリを6sないけども作ってみたい(^^ゞ
3D Touchアプリを6sないけども作ってみたい(^^ゞFromF
 
Building Revenue via Social PPC Marketing
Building Revenue via Social PPC MarketingBuilding Revenue via Social PPC Marketing
Building Revenue via Social PPC MarketingCommerceHubOfficial
 
Retail Search beyond Google & Bing
Retail Search beyond Google & BingRetail Search beyond Google & Bing
Retail Search beyond Google & BingCommerceHubOfficial
 
花火かんたん撮影アプリ “Air Hanabi”の技術紹介
花火かんたん撮影アプリ “Air Hanabi”の技術紹介花火かんたん撮影アプリ “Air Hanabi”の技術紹介
花火かんたん撮影アプリ “Air Hanabi”の技術紹介FromF
 
iMessage+APP LINEスタンプっぽい Stickersの紹介
iMessage+APP LINEスタンプっぽい Stickersの紹介iMessage+APP LINEスタンプっぽい Stickersの紹介
iMessage+APP LINEスタンプっぽい Stickersの紹介FromF
 
Crystal Cove, Redondo Beach, California
Crystal Cove, Redondo Beach, CaliforniaCrystal Cove, Redondo Beach, California
Crystal Cove, Redondo Beach, Californiafuseragent
 
Conducta del consumidor presentacion primer dia de clases
Conducta del consumidor presentacion primer dia de clasesConducta del consumidor presentacion primer dia de clases
Conducta del consumidor presentacion primer dia de clasesAlicia De la Peña
 
COMPANY PROFILE. micpoint
COMPANY PROFILE. micpointCOMPANY PROFILE. micpoint
COMPANY PROFILE. micpointrano a,n
 
Social Media - the Good, the Bad & the Crazy!
Social Media - the Good, the Bad & the Crazy!Social Media - the Good, the Bad & the Crazy!
Social Media - the Good, the Bad & the Crazy!Chonil Weerawansa
 
E commerce for everyone- what to expect in 2017
E commerce for everyone- what to expect in 2017E commerce for everyone- what to expect in 2017
E commerce for everyone- what to expect in 2017CommerceHubOfficial
 
Unidad 1 estudio del consumidor ulsa
Unidad 1 estudio del consumidor ulsa Unidad 1 estudio del consumidor ulsa
Unidad 1 estudio del consumidor ulsa Alicia De la Peña
 
Ride the roller coaster - Bing Ads, Yahoo & Polyvore
Ride the roller coaster - Bing Ads, Yahoo & PolyvoreRide the roller coaster - Bing Ads, Yahoo & Polyvore
Ride the roller coaster - Bing Ads, Yahoo & PolyvoreCommerceHubOfficial
 

Andere mochten auch (17)

周辺機器連携 アプリの申請豊富
周辺機器連携 アプリの申請豊富周辺機器連携 アプリの申請豊富
周辺機器連携 アプリの申請豊富
 
3D Touchアプリを6sないけども作ってみたい(^^ゞ
3D Touchアプリを6sないけども作ってみたい(^^ゞ3D Touchアプリを6sないけども作ってみたい(^^ゞ
3D Touchアプリを6sないけども作ってみたい(^^ゞ
 
Building Revenue via Social PPC Marketing
Building Revenue via Social PPC MarketingBuilding Revenue via Social PPC Marketing
Building Revenue via Social PPC Marketing
 
Retail Search beyond Google & Bing
Retail Search beyond Google & BingRetail Search beyond Google & Bing
Retail Search beyond Google & Bing
 
花火かんたん撮影アプリ “Air Hanabi”の技術紹介
花火かんたん撮影アプリ “Air Hanabi”の技術紹介花火かんたん撮影アプリ “Air Hanabi”の技術紹介
花火かんたん撮影アプリ “Air Hanabi”の技術紹介
 
iMessage+APP LINEスタンプっぽい Stickersの紹介
iMessage+APP LINEスタンプっぽい Stickersの紹介iMessage+APP LINEスタンプっぽい Stickersの紹介
iMessage+APP LINEスタンプっぽい Stickersの紹介
 
Finding Paid Search Zen in 2016
Finding Paid Search Zen in 2016Finding Paid Search Zen in 2016
Finding Paid Search Zen in 2016
 
Analgesic activity
Analgesic activityAnalgesic activity
Analgesic activity
 
Takehair
TakehairTakehair
Takehair
 
Crystal Cove, Redondo Beach, California
Crystal Cove, Redondo Beach, CaliforniaCrystal Cove, Redondo Beach, California
Crystal Cove, Redondo Beach, California
 
Takehair
TakehairTakehair
Takehair
 
Conducta del consumidor presentacion primer dia de clases
Conducta del consumidor presentacion primer dia de clasesConducta del consumidor presentacion primer dia de clases
Conducta del consumidor presentacion primer dia de clases
 
COMPANY PROFILE. micpoint
COMPANY PROFILE. micpointCOMPANY PROFILE. micpoint
COMPANY PROFILE. micpoint
 
Social Media - the Good, the Bad & the Crazy!
Social Media - the Good, the Bad & the Crazy!Social Media - the Good, the Bad & the Crazy!
Social Media - the Good, the Bad & the Crazy!
 
E commerce for everyone- what to expect in 2017
E commerce for everyone- what to expect in 2017E commerce for everyone- what to expect in 2017
E commerce for everyone- what to expect in 2017
 
Unidad 1 estudio del consumidor ulsa
Unidad 1 estudio del consumidor ulsa Unidad 1 estudio del consumidor ulsa
Unidad 1 estudio del consumidor ulsa
 
Ride the roller coaster - Bing Ads, Yahoo & Polyvore
Ride the roller coaster - Bing Ads, Yahoo & PolyvoreRide the roller coaster - Bing Ads, Yahoo & Polyvore
Ride the roller coaster - Bing Ads, Yahoo & Polyvore
 

Ähnlich wie Movable Type Data API Swiftアプリ作成事例

20141220_iOS8マルチデバイス対応(Size Classes編)
20141220_iOS8マルチデバイス対応(Size Classes編)20141220_iOS8マルチデバイス対応(Size Classes編)
20141220_iOS8マルチデバイス対応(Size Classes編)Kanako Kobayashi
 
Webデベロッパの祭典@東京:Webエンジニアの視点
Webデベロッパの祭典@東京:Webエンジニアの視点Webデベロッパの祭典@東京:Webエンジニアの視点
Webデベロッパの祭典@東京:Webエンジニアの視点masayoshi takahashi
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺Yusuke Wada
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門Tomoki Hasegawa
 
【MashupAwards11】kintoneのご紹介
【MashupAwards11】kintoneのご紹介【MashupAwards11】kintoneのご紹介
【MashupAwards11】kintoneのご紹介Koji Asaga
 
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表yohei sugigami
 
de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!Kazumi IWANAGA
 
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能Masaki Suzuki
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Tomoki Hasegawa
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshopYoichiro Sakurai
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetupS Akai
 
WordBench京都9月号
WordBench京都9月号WordBench京都9月号
WordBench京都9月号Koji Asaga
 
How Would You Like Component Management System
How Would You Like Component Management SystemHow Would You Like Component Management System
How Would You Like Component Management SystemHidetaka Okamoto
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCDaisuke Nishino
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)Kosuke Masumitsu
 
Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Kanako Kobayashi
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会Koji Asaga
 

Ähnlich wie Movable Type Data API Swiftアプリ作成事例 (20)

20141220_iOS8マルチデバイス対応(Size Classes編)
20141220_iOS8マルチデバイス対応(Size Classes編)20141220_iOS8マルチデバイス対応(Size Classes編)
20141220_iOS8マルチデバイス対応(Size Classes編)
 
Webデベロッパの祭典@東京:Webエンジニアの視点
Webデベロッパの祭典@東京:Webエンジニアの視点Webデベロッパの祭典@東京:Webエンジニアの視点
Webデベロッパの祭典@東京:Webエンジニアの視点
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
 
【MashupAwards11】kintoneのご紹介
【MashupAwards11】kintoneのご紹介【MashupAwards11】kintoneのご紹介
【MashupAwards11】kintoneのご紹介
 
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
 
Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001
 
de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!
 
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
 
WordBench京都9月号
WordBench京都9月号WordBench京都9月号
WordBench京都9月号
 
How Would You Like Component Management System
How Would You Like Component Management SystemHow Would You Like Component Management System
How Would You Like Component Management System
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
 
気になったQiita記事【勉強会資料】
気になったQiita記事【勉強会資料】 気になったQiita記事【勉強会資料】
気になったQiita記事【勉強会資料】
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)
 
Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会
 

Kürzlich hochgeladen

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 

Kürzlich hochgeladen (8)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 

Movable Type Data API Swiftアプリ作成事例

Hinweis der Redaktion

  1. Movable Type Data APIを使った Swiftアプリ作成事例について 発表をはじめます!
  2. 発表内容は 自己紹介 勉強会の運営をしていますのでその紹介 書籍を執筆しましたので書籍紹介 発表内容のデモ ・・・・
  3. フジと申し上げます。 普段は、オリンパスソフトウェアテクノロジーに勤務しており、デジタルカメラのファームウェア開発をしています。 スライドにあるカメラは開発に携わった機種の一部です。 中でも、スマートフォンと一緒に写っている筒状のカメラOLYMPUS AIRが一番思い入れがあるミラーレス一眼レフカメラです。
  4. 3つの勉強会を運営しております。 iOSアプリ開発向けのSwiftビギナーズ倶楽部、ruby on rails向けのRuby on Railsビギナーズ倶楽部、最後にWordPressもくもく倶楽部です。 ドアキーパーでイベントを公開していますので、ご興味があるかたは検索してみてください。
  5. どの勉強会も、未経験者が開発を行えるようになること、セッションがうまくなること、交流して仲間を増やすことの3つの目的で活動をしています。 勉強会の内容についてですが、登壇希望者が10分程度のライトニングトークを行い、その後もくもく勉強会をしています。 ビギナーらしく、どんどん「チャレンジしていくこと」を目的に活発に活動しています。 最初は少人数ではじめた勉強会もたくさんの人が集まってスポンサーが入るぐらいに大きくなってきました。
  6. Swiftビギナーズ倶楽部を紹介させていただきます。 2014年6月2日Appleが開催している開発者向けイベントWWDCにてSwift言語が発表されました。 9月15日にSwift1.0が正式リリースされました。 Swiftがどんな言語なのか勉強するために、11月1日に第1回の勉強会を開催し計18回開催している勉強会です。 この勉強会での活動が書籍出版へと繋がりました。
  7. Swiftビギナーズ倶楽部、運営メンバーが執筆した書籍を出版しました。 これからつくるiPhoneアプリ開発入門という本です。 実は、4名の執筆陣全員、執筆経験がありません。 どうすれば良い本ができるのか考えました。 ===== ハンズオンセミナーを開催しました。セミナーの中で各章毎に授業形式で行い、授業終了後ヒヤリングし参加者がつまずくところを分析し書籍に反映した本となっています。 書籍のコンセプトは、体験ー>理解ー>学ぶ ブースコーナーでも展示・販売しておりますのでご興味がある方はぜひよろしくお願い致します。
  8. とにかくわかりやすい書籍を作りたいと思い、ハンズオンセミナーをすれば良いのではないかと思い開催しました。 各章毎に授業形式で行い、終了後ヒヤリングし、参加者がつまずくところを分析し書籍に反映しました。 ===== 各章ごとに参加者の方にヒアリングを実施しました。 初心者が最初につまずくところ、わからなかった所を集めて分析して、 どの技術要素をどの順番で説明すれば良いか、議論に議論を重ねました。 その結果を各章の内容を決定しました。 実は、第一回目の開催時の声を元に、第二回目はかなり内容を変更しました。 半分以上のサンプルアプリを丸々作り変えました。
  9. 特徴なのですが他の入門書でつまずいてしまった方、未経験者にターゲットとしています。 初心者に最初に手に取ってもらいたいと思い執筆しています。 入門書っていいつつ難しいなと思っていたのもあり、他の入門書が難しいと感じた方や、これからアプリを作ってみたい方にちょうど良い書籍なのではないかと思います。 書籍の特徴としては、基本のレッスンごとに「カスタマイズ編」を用意しているので、最初は基本編だけ学習していただいて、2回めは基本編プラス、応用編を併せて行っていただくと定着率が良いのでお奨めです。 公式サイトでは、応用編を用意しているので、書籍が終わった後も次のステップとして学習していただける道もありますので、ぜひ、見てみてください。
  10. 今回発表する内容は、本書の2日目 Lesson4 のお菓子検索アプリをカスタマイズした内容になります。本書では、WordPress APIを活用しています。 今回は、MovableType Data API を活用してアプリを作りました。
  11. 今回は「Six Apartのごはんレシピ」サイトを活用しています。 このサイトはむーバルタイプで制作されています。 知っている方は知っていると思いますが、Six Apartさんのまかないをレシピとして公開しているサイトです。
  12. 1.サイトの説明 今回は、Six Apartのごはんレシピというサイトを利用します。まかないごはんのレシピを紹介するサイトです。 カテゴリ別に分類されています。1、2投稿記事の項目説明する。 http://makanai.sixapart.jp/ 1つの料理のレシピが表示されます。このタイトルやURL、画像がAPIで検索して取得できます。 2.開発向けガイドページー>APIリファレンスー>Search MovableTypeには、開発者向けガイドページがあります。 その中にあるAPIリファレンスページにあるSearch(検索)を利用します。 https://www.movabletype.jp/developers/ 3.APIの説明 https://www.movabletype.jp/developers/data-api/v3-reference.html#search Searchのエンドポイントのパラメータは、必須パラメータとしてsearchがありここには検索キーワードを指定します。 検索結果の上限数を指定するlimitなどがありますが、optionalとなっているため必要に応じて指定すればよいことになっています。 実際にエンドポイントを開いてJSONデータを確認します。 http://makanai.sixapart.jp/mt/mt-data-api.cgi/v3/search?search=%E5%A1%A9 色々な項目がJSONデータとして取得できます。 今回は、タイトル、カテゴリ、代表的なサムネイル画像を取得します。 (画面を示しながら)それぞれここにタイトル、カテゴリ、サムネイルがあります。 4.Xcodeの説明 iOSアプリは、Appleが提供している統合開発環境ツール(IDE)のXcodeを利用して作成していきます。 Xcodeの特徴的な機能として、UIパーツをレイアウトしたり画面遷移を指定するストリーボードがあります。 Xcodeでは、シミュレータの機能があって、iPhoneやiPadがなくてもMacの画面で動作の確認ができます。 今回の画面は、ストリーボードでは検索窓のTextField、検索結果を表示するTableViewが存在します。 また、Swiftファイルでは、DataAPIのリクエストするコードがあります。(コードを見ながら) またJSONデータをパースなどの一覧表示Tableにする処理があります。(コード見ながら) SafariViewという機能があって、アプリ内でWebページを表示することができます。ページの表示にはSafariを使っています。アプリでSafariを使うことができるんです
  13. permalinkが記事のURLになります。このURLを指定すると記事のページにアクセスできます。
  14. パースとは、送信されてきたデータを、プログラムで扱えるよう書式に変換することをパースといいます。
  15. iOSでは、インターネットへのアクセスは基本httpsになります。httpでの外部通信はブロックされてエラーになります。 そのため、httpでの通信は個別に許可をする必要があります。
  16. 検索するときのData APIはSearch JSONの内容を確認するときはChromeブラウザ向け拡張機能”JSONView”使うと便利 JSONの解析(パース)するときはJSONSerializationクラスで行う http通信でリクエストする場合には ATSの制限解除の設定が必要