開発を加速させるretty式チーム開発術 reloaded

31
開発を加速させる Retty 式チーム開発術 Reloaded 2014/05/29 Retty株式会社 櫻井 洋一郎

Upload: yoichiro-sakurai

Post on 18-Jun-2015

4.270 views

Category:

Technology


1 download

DESCRIPTION

2014/05/29 in mixi http://deploygate.doorkeeper.jp/events/11579

TRANSCRIPT

Page 1: 開発を加速させるRetty式チーム開発術 Reloaded

開発を加速させる Retty 式チーム開発術

Reloaded2014/05/29

Retty株式会社 櫻井 洋一郎

Page 2: 開発を加速させるRetty式チーム開発術 Reloaded

Self Introduction

• Name: Yoichiro Sakurai (@saku2saku)

• Job: iOS Engineer @ Retty.Inc TONKATSU Engineer

• Major : Objective-C, PHP, Java, etc..

• Hobby: Reading comics, Cooking, etc..

Page 3: 開発を加速させるRetty式チーム開発術 Reloaded

Works

for iPhone for iPad for Web

(not commiter)

Page 4: 開発を加速させるRetty式チーム開発術 Reloaded

What is “Retty” ?

Page 5: 開発を加速させるRetty式チーム開発術 Reloaded

Table of Contents

1. App Structure

2. Development Environment

3. Advanced Development Environment

Page 6: 開発を加速させるRetty式チーム開発術 Reloaded

Table of Contents

1. App Structure

2. Development Environment

3. Advanced Development Environment

Page 7: 開発を加速させるRetty式チーム開発術 Reloaded

App Structure

• Retty app using many “UIWebView”

• Web page, Web API

• Non-iOS Engineers can create/modify App UI

Page 8: 開発を加速させるRetty式チーム開発術 Reloaded

Type of WebView

• “REMOTE” WebView

• show web page on server

• “LOCAL” WebView

• show HTML, CSS, JS in App

Page 9: 開発を加速させるRetty式チーム開発術 Reloaded

Why include HTMLs in App ?

• You can show background view immediately

• Dynamic contents can get by JavaScript lazily

• You can create/modify App UI, even if you don’t know Objective-C !

Page 10: 開発を加速させるRetty式チーム開発術 Reloaded

Custom URL Scheme

• Retty App uses Custom URL Scheme effectively

• Using screen transition

• retty://?paramA=XXX&paramB=YYY

• Webview call Native method through URL

Page 11: 開発を加速させるRetty式チーム開発術 Reloaded

Table of Contents

1. App Structure

2. Development Environment

3. Advanced Development Environment

Page 12: 開発を加速させるRetty式チーム開発術 Reloaded

Retty Server Environment

Route53 ELB EC2

CloudWatch

ElasticCache

RDS

S3SQS

Page 13: 開発を加速させるRetty式チーム開発術 Reloaded

_人人人人人人_ > Many AWS!! < ‾Y^Y^Y^Y^Y‾

Page 14: 開発を加速させるRetty式チーム開発術 Reloaded

EC2 valiation

• Production (http://retty.me/)

• Staging (http://retty.me/)

• Development (http://devserverXXX.retty.me/)

Page 15: 開発を加速させるRetty式チーム開発術 Reloaded

EC2 valiation

• Production (http://retty.me/)

• Staging (http://retty.me/)

• Development (http://devserverXXX.retty.me/)

?!

Page 16: 開発を加速させるRetty式チーム開発術 Reloaded

Switch Production and Staging

Production Staging

Production RDS

Production WiFi Staging WiFi

Page 17: 開発を加速させるRetty式チーム開発術 Reloaded

Switch Production and Staging

Production Staging

Production RDS

Non-VPN VPN with Proxy

Page 18: 開発を加速させるRetty式チーム開発術 Reloaded

Development Server

Dev-saku

Development RDS

Dev-take Dev-yoshidaDev-natsukaDev-uchinoDev-hirano

Retty-saku

Page 19: 開発を加速させるRetty式チーム開発術 Reloaded

Jenkins & TestFlight

source: http://hazi.jp/wp-content/uploads/2012/12/jenkins-wallpaper-phone1.jpg http://www.mevvy.com/wp-content/uploads/2012/12/TestFlight-logo-on-mevvy.com_.png

Page 20: 開発を加速させるRetty式チーム開発術 Reloaded

Development Server

Dev-saku

Development RDS

Dev-take Dev-yoshidaDev-natsukaDev-uchinoDev-hirano

Retty-saku Retty-yoshidaRetty-hirano Retty-uchino Retty-natsuka Retty-take

Page 21: 開発を加速させるRetty式チーム開発術 Reloaded

And DeployGate

source: https://lh4.ggpht.com/AOPLh8AvXlTt5evzK-koQIyR7SFjoj6MMcW45eFtY0WSuU4Fz4burnpKwGp9k0wv-gk=w300

Page 22: 開発を加速させるRetty式チーム開発術 Reloaded

Why so many Dev Servers ?!

Page 23: 開発を加速させるRetty式チーム開発術 Reloaded

Table of Contents

1. App Structure

2. Development Environment

3. Advanced Development Environment

Page 24: 開発を加速させるRetty式チーム開発術 Reloaded

Advanced Retty Server Environment

Route53 ELB EC2

CloudWatch

ElasticCache

RDS

S3SQS

ElasticBeanstalk

Page 25: 開発を加速させるRetty式チーム開発術 Reloaded

What is changed byElastic Beanstalk

• Visualization server versions

• Simple & fast deploy, auto scaling

• Swap environment instantly

Page 26: 開発を加速させるRetty式チーム開発術 Reloaded

Visualization server versions

Page 27: 開発を加速させるRetty式チーム開発術 Reloaded

Simple & fast deploy, auto scaling

Page 28: 開発を加速させるRetty式チーム開発術 Reloaded

Swap environment instantly

Page 29: 開発を加速させるRetty式チーム開発術 Reloaded

SUMMARY• Accelerate team development

• Use WebView (appropriately), if needed

• Production & Staging & Development

• Switch and Generate App easily

• Improve environment continuously !

Page 30: 開発を加速させるRetty式チーム開発術 Reloaded

WE’RE HIRING Designer!!

https://www.wantedly.com/projects/3873

Page 31: 開発を加速させるRetty式チーム開発術 Reloaded

Thank you.