SlideShare una empresa de Scribd logo
1 de 60
Descargar para leer sin conexión
設計⼀一個 MOBILE API SDK
⼀一些經驗分享
Cloud Sung
您好!
• Cloud Sung
• 現任 PIXNET iOS Developer
• 曾經有幸和⼀一群很屌的企劃⼀一
同⼯工作,所以也去當了企劃⼀一
陣⼦子。
• 現在有幸和⼀一群很屌的⼯工程師
⼀一同⼯工作,所以也想要成為很
屌的⼯工程師。
我盡量.....但還是有⼀一點點啦
你⼼心中的PIXNET API
你⼼心中的PIXNET API
我可是寫 obj-c 的懶惰
⼯工程師耶!!!
7 隻 Blogger App
PIXNET⾏行動管家
PIXNET上傳精靈
美⻝⾷食搖⼀一搖
PIXNET Album
⾝身為懶惰的⼯工程師怎麼能
忍受不斷寫⼀一樣的Code
PIXNETSDK For iOS
1. 降低⼯工程師開發⾨門檻
1. 降低⼯工程師開發⾨門檻
2. 由官⽅方幫你包好重覆性很⾼高的Class
1. 降低⼯工程師開發⾨門檻
2. 由官⽅方幫你包好重覆性很⾼高的Class
3. 讓 Data 可以被更多好點⼦子利⽤用!
1. 降低⼯工程師開發⾨門檻
2. 由官⽅方幫你包好重覆性很⾼高的Class
3. 讓 Data 可以被更多好點⼦子利⽤用!
4. 上到 cocoaPods 讓開發者更好
import
Coding Style

- NYTimes Coding Style
Dependency

- Reachability
- ALSystemUtilities
Class 架構

!
再加上⼀一些範例


我天真的以為這樣就是完整的
規範了
Method命名法?
Method命名法?
變數命名法?
Method命名法?
變數命名法?
Class命名法?
背景上傳?
註解及⽂文件?
以為這樣事情就會順利
了嗎?
Unit Test
Goto Fail!!!!!
Code Review
sharedInstance
[[PIXNETSDK new]
getUserwithUsername:@“”];
簡單的總結幾點
簡單的總結幾點
簡單的總結幾點
• 前期的⽂文件⽐比想像中要花更多時間,想的更遠更
完整
簡單的總結幾點
• 前期的⽂文件⽐比想像中要花更多時間,想的更遠更
完整
• 在 Coding Style 的規範嚴謹絕對是好事!
簡單的總結幾點
• 前期的⽂文件⽐比想像中要花更多時間,想的更遠更
完整
• 在 Coding Style 的規範嚴謹絕對是好事!
• 隨時都要 Code Review,教學相⻑⾧長很重要的
簡單的總結幾點
• 前期的⽂文件⽐比想像中要花更多時間,想的更遠更
完整
• 在 Coding Style 的規範嚴謹絕對是好事!
• 隨時都要 Code Review,教學相⻑⾧長很重要的
• Unit Test ⼀一定要作!!!
Demo
Now Available
Now Available
GitHub: https://github.com/pixnet/pixnet-ios-sdk
Now Available
GitHub: https://github.com/pixnet/pixnet-ios-sdk
CocoaPods: pod search pixnet
PIXNETSDK iOS
PIXNETSDK iOS
Android
PIXNETSDK iOS
Android JavaScript
PIXNETSDK iOS
Android JavaScript
And More
PIXNETSDK iOS
Android JavaScript
And More
Coming Soon
Special Thanks
Special Thanks
• Jui-Nan Lin - Assistant Manager, Technical R&D
Special Thanks
• Jui-Nan Lin - Assistant Manager, Technical R&D
• Dolphin Su - Mobile R&D Engineer
Quality Engineer
F2E
PHP
Mobile PM/SA
Android Engineer
iOS Engineer
Administration Assistant
Q & A

Más contenido relacionado

Destacado

The future-of-netflix-api
The future-of-netflix-apiThe future-of-netflix-api
The future-of-netflix-apiDaniel Jacobson
 
Platform - Technical architecture
Platform - Technical architecturePlatform - Technical architecture
Platform - Technical architectureDavid Rundle
 
Open Graph & oEmbed | facebook的開放社交關係圖與其他網站的oEmbed
Open Graph & oEmbed | facebook的開放社交關係圖與其他網站的oEmbedOpen Graph & oEmbed | facebook的開放社交關係圖與其他網站的oEmbed
Open Graph & oEmbed | facebook的開放社交關係圖與其他網站的oEmbedVeronica Lin
 
Creating personalized cross platform mobile apps with the Sitecore Mobile SDK
Creating personalized cross platform mobile apps with the Sitecore Mobile SDKCreating personalized cross platform mobile apps with the Sitecore Mobile SDK
Creating personalized cross platform mobile apps with the Sitecore Mobile SDKMark van Aalst
 
Intro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
Intro to Salesforce Mobile SDK: Building Hybrid Apps WebinarIntro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
Intro to Salesforce Mobile SDK: Building Hybrid Apps WebinarSalesforce Developers
 
API Strategy Evolution at Netflix
API Strategy Evolution at NetflixAPI Strategy Evolution at Netflix
API Strategy Evolution at NetflixMichael Hart
 
Writing code samples for API/SDK documentation
Writing code samples for API/SDK documentationWriting code samples for API/SDK documentation
Writing code samples for API/SDK documentationTom Johnson
 
Unleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime DebuggerUnleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime DebuggerSalesforce Developers
 
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.jsAmazon Web Services Japan
 
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDK
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDKDeep-Dive: Building Mobile Web Applications with AWS Mobile SDK
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDKAmazon Web Services
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Salesforce Developers
 
Building a Single Page App with Lightning Components
Building a Single Page App with Lightning ComponentsBuilding a Single Page App with Lightning Components
Building a Single Page App with Lightning ComponentsSalesforce Developers
 
Testing Applications with AWS Device Farm
Testing Applications with AWS Device FarmTesting Applications with AWS Device Farm
Testing Applications with AWS Device FarmAmazon Web Services
 
20170324 html5j web_paltform_study
20170324 html5j web_paltform_study20170324 html5j web_paltform_study
20170324 html5j web_paltform_studyJunichi Okamura
 

Destacado (15)

Extend sdk
Extend sdkExtend sdk
Extend sdk
 
The future-of-netflix-api
The future-of-netflix-apiThe future-of-netflix-api
The future-of-netflix-api
 
Platform - Technical architecture
Platform - Technical architecturePlatform - Technical architecture
Platform - Technical architecture
 
Open Graph & oEmbed | facebook的開放社交關係圖與其他網站的oEmbed
Open Graph & oEmbed | facebook的開放社交關係圖與其他網站的oEmbedOpen Graph & oEmbed | facebook的開放社交關係圖與其他網站的oEmbed
Open Graph & oEmbed | facebook的開放社交關係圖與其他網站的oEmbed
 
Creating personalized cross platform mobile apps with the Sitecore Mobile SDK
Creating personalized cross platform mobile apps with the Sitecore Mobile SDKCreating personalized cross platform mobile apps with the Sitecore Mobile SDK
Creating personalized cross platform mobile apps with the Sitecore Mobile SDK
 
Intro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
Intro to Salesforce Mobile SDK: Building Hybrid Apps WebinarIntro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
Intro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
 
API Strategy Evolution at Netflix
API Strategy Evolution at NetflixAPI Strategy Evolution at Netflix
API Strategy Evolution at Netflix
 
Writing code samples for API/SDK documentation
Writing code samples for API/SDK documentationWriting code samples for API/SDK documentation
Writing code samples for API/SDK documentation
 
Unleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime DebuggerUnleash the Power of Apex Realtime Debugger
Unleash the Power of Apex Realtime Debugger
 
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
 
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDK
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDKDeep-Dive: Building Mobile Web Applications with AWS Mobile SDK
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDK
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
 
Building a Single Page App with Lightning Components
Building a Single Page App with Lightning ComponentsBuilding a Single Page App with Lightning Components
Building a Single Page App with Lightning Components
 
Testing Applications with AWS Device Farm
Testing Applications with AWS Device FarmTesting Applications with AWS Device Farm
Testing Applications with AWS Device Farm
 
20170324 html5j web_paltform_study
20170324 html5j web_paltform_study20170324 html5j web_paltform_study
20170324 html5j web_paltform_study
 

Similar a PIXNET iOS SDK @OSDC 2014

苦集滅道:透過開發客製 Sketch Plug-in 改善產品設計流程
苦集滅道:透過開發客製 Sketch Plug-in  改善產品設計流程苦集滅道:透過開發客製 Sketch Plug-in  改善產品設計流程
苦集滅道:透過開發客製 Sketch Plug-in 改善產品設計流程Weizhong Yang
 
JSDC 2015 React-Native 實戰
JSDC 2015 React-Native 實戰JSDC 2015 React-Native 實戰
JSDC 2015 React-Native 實戰Sam Lee
 
React-Native share
React-Native shareReact-Native share
React-Native shareEddie Hsu
 
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409zhengyiwuxian
 
初探程式語言設計以C#為例
初探程式語言設計以C#為例初探程式語言設計以C#為例
初探程式語言設計以C#為例Johnson Gau
 
BBC Micro:bit beginner project
BBC Micro:bit beginner projectBBC Micro:bit beginner project
BBC Micro:bit beginner projectCAVEDU Education
 
Zoom taiwan launch
Zoom taiwan launchZoom taiwan launch
Zoom taiwan launchRobertZoom
 
OpenOffice.org UNO Magic
OpenOffice.org UNO MagicOpenOffice.org UNO Magic
OpenOffice.org UNO Magicimacat .
 
Zoom taiwan launch ppt 11192014
Zoom taiwan launch ppt 11192014Zoom taiwan launch ppt 11192014
Zoom taiwan launch ppt 11192014RobertZoom
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 TaiwanAlan Tsai
 
App design process part III
App design process part IIIApp design process part III
App design process part IIINTUST
 
如何使用 API.AI + NodeJs 快速建立 Chatbot
如何使用 API.AI + NodeJs 快速建立 Chatbot如何使用 API.AI + NodeJs 快速建立 Chatbot
如何使用 API.AI + NodeJs 快速建立 ChatbotTech Podcast Night
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台MOBINODE
 
導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事Weizhong Yang
 
iOS swift & Cloud Vision API 玩圖像辨識
iOS swift & Cloud Vision API 玩圖像辨識iOS swift & Cloud Vision API 玩圖像辨識
iOS swift & Cloud Vision API 玩圖像辨識政斌 楊
 
Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手Piece Chao
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0) My own sweet home!
 
I os与android多平台开发心得
I os与android多平台开发心得I os与android多平台开发心得
I os与android多平台开发心得drewz lin
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设Tianwei Liu
 

Similar a PIXNET iOS SDK @OSDC 2014 (20)

苦集滅道:透過開發客製 Sketch Plug-in 改善產品設計流程
苦集滅道:透過開發客製 Sketch Plug-in  改善產品設計流程苦集滅道:透過開發客製 Sketch Plug-in  改善產品設計流程
苦集滅道:透過開發客製 Sketch Plug-in 改善產品設計流程
 
JSDC 2015 React-Native 實戰
JSDC 2015 React-Native 實戰JSDC 2015 React-Native 實戰
JSDC 2015 React-Native 實戰
 
[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020
 
React-Native share
React-Native shareReact-Native share
React-Native share
 
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409
 
初探程式語言設計以C#為例
初探程式語言設計以C#為例初探程式語言設計以C#為例
初探程式語言設計以C#為例
 
BBC Micro:bit beginner project
BBC Micro:bit beginner projectBBC Micro:bit beginner project
BBC Micro:bit beginner project
 
Zoom taiwan launch
Zoom taiwan launchZoom taiwan launch
Zoom taiwan launch
 
OpenOffice.org UNO Magic
OpenOffice.org UNO MagicOpenOffice.org UNO Magic
OpenOffice.org UNO Magic
 
Zoom taiwan launch ppt 11192014
Zoom taiwan launch ppt 11192014Zoom taiwan launch ppt 11192014
Zoom taiwan launch ppt 11192014
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
 
App design process part III
App design process part IIIApp design process part III
App design process part III
 
如何使用 API.AI + NodeJs 快速建立 Chatbot
如何使用 API.AI + NodeJs 快速建立 Chatbot如何使用 API.AI + NodeJs 快速建立 Chatbot
如何使用 API.AI + NodeJs 快速建立 Chatbot
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
 
導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事
 
iOS swift & Cloud Vision API 玩圖像辨識
iOS swift & Cloud Vision API 玩圖像辨識iOS swift & Cloud Vision API 玩圖像辨識
iOS swift & Cloud Vision API 玩圖像辨識
 
Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
 
I os与android多平台开发心得
I os与android多平台开发心得I os与android多平台开发心得
I os与android多平台开发心得
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
 

PIXNET iOS SDK @OSDC 2014