翻蚳è ããïŒãã®æçš¿ã¯ãç¬èªã®ã³ãŒãã£ã³ã°ãã¬ãŒãã³ã°ã³ãŒã¹ãéçºããçµéšè±å¯ãªããã°ã©ããŒãReinder de Vries ã«ãããªãªãžãã«èšäºã®ç¿»èš³ã§ãã èè ã¯ãéçºè ã«åœ¹ç«ã€å¯èœæ§ã®ããããŒã«ã«é¢ããèªåã®èããå ±æããããã°ã©ãã³ã°ããã»ã¹ãé«éåããã³æé©åã§ããããã«ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®äœæã«ã¯å€ãã®æéãšå€ãã®å Žåãéãå¿ èŠã§ãã å€æ©èœããã°ã©ã ãéçºããã®ã«ååãªè³éããªãå ŽåããããŸãããè³éãããããšã¯ãããŸããã競åä»ç€Ÿããå ã«ãªãªãŒã¹ã®è¯ãã¿ã€ãã³ã°ãéããªãããã«ãã§ããã ãæ©ãäœæ¥ããå¿ èŠããããŸãã 察åŠæ¹æ³-ããã°ã©ã ã®æ©èœãåæžããŠçµäºãæ©ããããããã»ã¹ãé«éåããä»ã®æ¹æ³ãæ¢ããŸããïŒ
Skillbox㯠ãWebéçºè ã®è·æ¥ãã æšå¥š ããŠããŸãã
ãHabrãã®èªè ã«ã¯ããHabrãããã¢ãŒã·ã§ã³ã³ãŒãã䜿çšããŠSkillboxã³ãŒã¹ã«ç»é²ãããš10,000ã«ãŒãã«ã®å²åŒããããŸãã
ãã®èšäºã§ã¯ãéçºããã»ã¹ãé«éåããããã«äœ¿çšããããšããå§ããã5ã€ã®ç°ãªãããŒã«ã«ã€ããŠèª¬æããŸãã ããã«ããã1ã€ã®ç³ã§2矜ã®é³¥ã殺ãããšãã§ããŸããã¢ããªã±ãŒã·ã§ã³ã®ãªãœãŒã¹æ¶è²»ãåæžïŒã€ãŸããã³ã¹ããåæžïŒãããšãšãã«ããªãªãŒã¹æéãççž®ããŸãã
解æãµãŒããŒ
æåã«æ€èšããããŒã«ã¯ãã¯ã©ãŠãããŒã¹ã®ãªãŒãã³ãœãŒã¹ã®ããã¯ãšã³ã解æãµãŒããŒã§ãã
ä»çµã¿ã¯æ¬¡ã®ãšããã§ãã
- Herokuãªã©ã®äžè¬çãªPaaSã§Parse Serverã€ã³ã¹ã¿ã³ã¹ãäœæããŸãã
- Parse Serverã€ã³ã¹ã¿ã³ã¹ãmLabãªã©ã®äžè¬çãªDaaSãã©ãããã©ãŒã ã«æ¥ç¶ããŸãã
- Parse Serverã€ã³ã¹ã¿ã³ã¹ãšã¢ããªã±ãŒã·ã§ã³ãçµ±åãããã©ãããã©ãŒã ããŒã«ã®äœ¿çšãéå§ããŸãã
- å©çïŒ ããŒã¿ããŒã¹ãããã·ã¥éç¥ããã¡ã€ã«ã¹ãã¬ãŒãžããŠãŒã¶ãŒã¢ã«ãŠã³ã管çãªã©ãå€æ°ã®æ©èœãåããåªããã¯ã©ãŠãããŒã«ããããŸãã
ããã¯ãªãŒãã³ãœãŒã¹ã®ããŒã«ã§ãããããAWSãHerokuãGoogle App EngineãAzureãDigital Oceanãªã©ã®å€ãã®ã¯ã©ãŠããããã€ããŒã§Parse Serverã€ã³ã¹ã¿ã³ã¹ãäœæããã³æ§æã§ããŸãã
Parse Serverã¯ãéçºè ã«å¹ åºãããã¯ãšã³ãæ©èœãžã®ã¢ã¯ã»ã¹ãæäŸããŸãã ãã¹ãŠã®æ©èœãæ£åžžã«æ©èœãããšããäºå®ã«ãããããããã¢ã¯ãã£ããŒã·ã§ã³ã®åã«ããããã®èšå®ã«åãçµãã§ãããéåžžã®æ©èœãç£èŠããå¿ èŠããããŸãã ãããããã®ãœãªã¥ãŒã·ã§ã³ãšãªãŒã«ã€ã³ã¯ã³ã¢ãŒãã§åäœããä»ã®ã¯ã©ãŠããã©ãããã©ãŒã ã®éãã§ãã
Parse Serverã«ã¯åªããCloud Functionsã¢ãžã¥ãŒã«ããããŸãã JavaScriptã䜿çšãããšãããªã¬ãŒã«ããã¿ã¹ã¯ã®å®è¡ãããã°ã©ã ã§ããŸãã
IMDBãšåæ§ã®æ ç»ã¬ãã¥ãŒãµãŒãã¹ãéçºããŠãããšããŸãã ãŠãŒã¶ãŒãæ ç»ã¬ãã¥ãŒãå ¬éãããã³ã«ããã®ã€ãã³ãã远跡ããããªã¬ãŒã䜿çšããŠæ°ããã¬ãã¥ãŒã«ã€ããŠãµãŒãã¹ã®ä»ã®ãŠãŒã¶ãŒã«éç¥ã§ããŸãã
Parse Serverã䜿çšãããšãéçºè ã¯ç¬èªã®ããã¯ãšã³ãããŒã«ã®äœæãšWebãµãŒããŒã®ä¿å®ã«è²»ããæéãšè²»çšãåæžã§ããŸãã Parse Serverã¯ãå€æ°ã®äŸ¿å©ãªæ©èœãåãããã¹ã±ãŒã©ãã«ã§æ¯èŒçã·ã³ãã«ã§ã«ã¹ã¿ãã€ãºå¯èœãªããŒã«ã§ãã
é·æ
- IoTç°å¢ãå«ãå€æ°ã®ãã©ãããã©ãŒã ã
- åªããæè¡ææžã
- ã¢ã¯ãã£ããªã³ãã¥ããã£ã
çæ
- Herokuãªã©ãäœæ¥çšã«å¥ã®ãã©ãããã©ãŒã ãå¿ èŠã§ãã
- ã¹ã±ãŒãªã³ã°ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£å šäœã«äŸåããŸãã
- ããã¯ããªãŒã«ã€ã³ã¯ã³ããŒã«ã§ã¯ãããŸããã
è²»çš
ãããã¯ãã¹ãŠç¡æã§ãããåè¿°ã®ããã«ããã®ããŒã«ã䜿çšããã«ã¯Herokuã®ãããªã¯ã©ãŠããå¿ èŠã§ãããæ¢ã«è²»çšãããããŸãã
ãã©ãããã©ãŒã
iOSãmacOSãtvOSãAndroidãJavaScriptãReactã.NETãUnityãPHPãArduinoãEmbedded C
ãã¡ã¹ãã¬ãŒã³
Fastlaneã¯ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒãšç¶ç¶çãããã€ã¡ã³ãïŒCDïŒã«äž»ã«çŠç¹ãåœãŠãããŒã«ã§ãã ã¢ããªã±ãŒã·ã§ã³ã®æ°ããããŒãžã§ã³ãäœæãããã³ã«ãèªåçã«ãŠãŒã¶ãŒãšããŒã¿ãã¹ã¿ãŒã«ââéãããŸãã
ã¢ããªã±ãŒã·ã§ã³ãäœæãããªãªãŒã¹1.0ãApp Storeã«æçš¿ãããšæ³åããŠãã ããã 2é±éåŸããã°ãä¿®æ£ããæ°ããæ©èœãè¿œå ããŸããã æ¹åãããããŒãžã§ã³1.1ãã§ããã ãæ©ãããŒã¿ãã¹ã¿ãŒã«ââæäŸãããã®åŸãŠãŒã¶ãŒã«æäŸããå¿ èŠããããŸãã
ã¿ã¹ã¯ãå®äºããããã«å¿ èŠãªããšã¯æ¬¡ã®ãšããã§ãã
- æ°ãããã«ããäœæããApp Store Connectã§å ¬éããŸãã
- äºææ§ã®ããåããã€ã¹ã®ã¹ã¯ãªãŒã³ã·ã§ãããäœæããŸãã
- ã¡ã¿ããŒã¿ãã¹ã¯ãªãŒã³ã·ã§ãããªã©ãæŽæ°ããŸã
- ããŒã¿ãã¹ã¿ãŒã«ââTestFlightãæäŸããŸãã
åç¬ã®ãšã³ã³ãŒããŒã§ããå Žåã¯ãè¿œå ã®ããŒã«ãªãã§ããããã¹ãŠã®ã¿ã¹ã¯ãå®äºããã®ã«ååãªæéãå¿ èŠã§ãã ããããããªããããŒã ã§åããŠãããããã°ã©ã ã®æ°ããããŒãžã§ã³ãé »ç¹ã«ç»å Žããããšãæ³åããŠãã ããã
ãã®å Žåãã¯ãŒã¯ãããŒã¯éåžžã«è€éã§ãããã«ãããªãå¯èœæ§ããããŸãã ãã¹ãŠãèªååããŠç°¡çŽ åããã«ã¯ãFastlineãå¿ èŠã§ãã ããã«åœŒãèªååã§ãããã®ããããŸãïŒ
- ããŸããŸãªããã€ã¹ãšèšèªã®ã¹ã¯ãªãŒã³ã·ã§ããã
- ã¢ããªã±ãŒã·ã§ã³ããŒã¿ãã«ãã®é åžãããšãã°ãæ°ãããã«ãã®åœåãã³ãŒããžã®çœ²åãã¢ããªã±ãŒã·ã§ã³ã®ããŠã³ããŒããå€æŽã®èšé²ã
- æ°ããã¡ã¿ããŒã¿ã®è¿œå ãã¹ã¯ãªãŒã³ã·ã§ããã®ããŠã³ããŒããã¬ãã¥ãŒã®ããã®ã¢ããªã±ãŒã·ã§ã³ã®éä¿¡ãå«ããã¢ããªã±ãŒã·ã§ã³ã®å ¬éã
- ããŒã å ã§ããŒãšèšŒææžã䜿çšããŸãã
Fastlineã¯ãCircleCIãJenkinsãTravis CIãªã©ã®äžè¬çãªCI / CDããŒã«ãšçµ±åããŸãã
ãããŠäœãããããã®ããŒã«ã¯ãªãŒãã³ãœãŒã¹ã§ãã ããã¯ãéçºè ãç¬èªã®ã¹ã¯ãªãããšãã©ã°ã€ã³ãè¿œå ããããšã§æ¹åã§ããããšãæå³ããŸãã Fastlineã®åæ©èœã¯ãäŸãã±ãŒã¹ãå«ããŠååã«ææžåãããŠããŸãã äžè¬çã«ãããŒã«ã¯å¿ èŠäžå¯æ¬ ã§ãã
é·æ
- å¿ èŠãªããã»ã¹ãèªååããããšã«ãããå€ãã®æéãç¯çŽã§ããŸãã
- ãæåã§ãäœæ¥ãããšãã«çºçãããšã©ãŒãåé¿ããã®ã«åœ¹ç«ã¡ãŸãã
çæ
- 調æŽã«ã¯å€å°ã®åªåãå¿ èŠã§ãã
- ãŸãã«ããæŽæ°ãããªãããŒã ãã¢ããªã±ãŒã·ã§ã³ã®ãªãéçºè ã«ã¯é©ããŠããŸããã
äŸ¡æ Œ
ç¡æã§ïŒ
ãã©ãããã©ãŒã
iOSãAndroidã
ã¢ããªã±ãŒã·ã§ã³èšèšãã³ãã¬ãŒã
ã¢ããªã±ãŒã·ã§ã³ã®èšèšã«ã¯å€ãã®æå³ããããŸãã åªãããã¶ã€ã³ã¯ãããã°ã©ã èªäœãåªããŠããå Žåã¯ãã¡ãããã¢ããªã±ãŒã·ã§ã³ã«App Storeã®æ Œä»ãã®äžäœãæäŸããŸãã
åœç¶ããŠãŒã¶ãŒã«ã¯éåžžã®UXãå¿ èŠã§ããçŸåšããŠãŒã¶ãŒã¯èšèšã«å¯ŸããŠéåžžã«èŠæ±ãå³ããããããæåããªãã£ãå Žåã§ããæé«ã®ããã°ã©ã ã§ãã人æ°ã倱ããŸãã
éçºè ã圌ã®é è³ãå¿ èŠãšãããã¶ã€ã³ãç解ããã®ãå©ããããã«ããã³ãã¬ãŒãããããŸãã ãããã¯ããã®UIãã¶ã€ããŒã«ãã£ãŠæºåãããŠãããå¿ èŠã«å¿ããŠãããŒãºã«åãããŠèª¿æŽã§ããŸãã
ç§ãæãæ°ã«å ¥ã£ãŠãããã¿ãŒã³ã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
- InVisionã®NOW ã TETHRãããã³DO
- Facebookã®iOS 11 iPhone GUI
- Baianatã®Stark UIããã
- ã¹ããã byãªãã»ã»ã¬ãºãã§ã¯
- ãšã€ããªã¢ã³ã»ãã©ã³ã«ãããã§ããã¯ã¹
- Michael Flarupã«ãããã¯ã»ã«ã®é©çš
äžéšã®ãã³ãã¬ãŒãã¯ããœãŒã·ã£ã«ãããã¯ãŒã¯ãçç£æ§ãœãªã¥ãŒã·ã§ã³ãé»ååååŒãªã©ãç¹å®ã®çš®é¡ã®ã¢ããªã±ãŒã·ã§ã³å°çšã«èšèšãããŠããŸãã
ãã³ãã¬ãŒãã䜿çšãããšãã¯ãäœæè ãæå®ããã©ã€ã»ã³ã¹æ¡é ã«å¿ ãåŸã£ãŠãã ããã ãã®ãã³ãã¬ãŒãã¯å©çšå¯èœãããããŸããããããã¯ããªãããããå€æŽããããåçšè£œåã«å®è£ ããæš©å©ãæã£ãŠãããšããæå³ã§ã¯ãããŸããã
é·æ
- å€ãã®æéãšãéãç¯çŽã§ããŸãã
- 䜿ããããã
- å€ãã®ãã³ãã¬ãŒãã¯ç°¡åã«ã«ã¹ã¿ãã€ãºã§ããŸãã
çæ
- ã»ããã¢ããã«ã¯æéãããããŸãã
- è¯ããã³ãã¬ãŒããæ¢ãå¿ èŠããããŸãã
- ã©ã€ã»ã³ã¹æ¡é ã¯å¿ ãããæ確ã§ã¯ãããŸããã
äŸ¡æ Œ
ææããã³ç¡æã®ãã³ãã¬ãŒãããããŸãã
ãã©ãããã©ãŒã
ã©ãã§ãã
ãã€ã³ãã³ãŒã
PaintCodeãåããŠäœ¿çšãããšããããã¯çŽç²ãªéæ³ã ãšæããããããŸããã å®éããã¡ããéæ³ã¯ãããŸããã圌ã¯èŠèŠçãªUIã³ã³ããŒãã³ãã®ã³ãŒããçæããæ¹æ³ãç¥ã£ãŠããã ãã§ãã
ä»çµã¿ã¯æ¬¡ã®ãšããã§ãã
- PaintCodeã§ããã¿ã³ãªã©ã®UIã³ã³ããŒãã³ããäœæããŸãã
- PaintCodeã¯ãSwiftãObjective-CãJavaãCïŒãJavaScriptããŸãã¯SVGã³ãŒããçæããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã§ã³ãŒãã䜿çšãããšãUIã³ã³ããŒãã³ãã衚瀺ãããŠæ©èœããŸãã
éåžžã®ç¶æ³ã§ã¯ãéçºè ã¯åèŠçŽ ãç¬èªã«èšèšããŸãã ãã¿ã³ã®æºåãã§ãããšããã®è²ãããã¹ããããã³å¢çç·ãã¢ããªã±ãŒã·ã§ã³ã«æžã蟌ãŸããŸãã ããã¯åçŽãªèŠèŠã³ã³ããŒãã³ãã§ãããããè€éãªå Žåãã©ãã ãã®æéãšåŽåãããããæ³åããŠãã ããã
éçºè ãšãã¶ã€ããŒã¯ãå€ãã®å Žåããã¶ã€ããŒã®æ¬²æ±ãšããã°ã©ããŒã®èœåã®äžéçãªäœçœ®ãæ¢ãããšãäœåãªããããŸãã PaintCodeã䜿çšãããšãä»»æã®è€éãã®UIã³ã³ããŒãã³ããäœæããå¿ èŠãªã³ãŒããèªåã§äœæã§ããŸãã
æçµããŒãžã§ã³ã¯åäžã®ãã¡ã€ã«ã«ãšã¯ã¹ããŒãããããããã³ã³ããŒãã³ããæŽæ°ããããšãã«ãã€ã§ãåã€ã³ããŒãã§ããŸãã ããããçš®é¡ã®å€æ°ãšåŒã䜿çšã§ããŸãã
ããã«ãPaintCodeã«ã¯ã人æ°ã®ããã°ã©ãã£ãã¯ãšãã£ã¿ãŒã§ããSketchã®ãã©ã°ã€ã³ããããŸãã ããã«ããããããžã§ã¯ããSketchããSwiftãŸãã¯Objective-Cã«çŽæ¥ãšã¯ã¹ããŒãã§ããŸãã
PaintCodeã«ã¯ãå€ãã®ãã¥ãŒããªã¢ã«ãšãââãæžãããããã¥ã¡ã³ãããããŸãã ãµããŒãã¯éââåžžã«åå¿ãããããã€ã§ããµããŒãã§ããŸãã
é·æ
- æéãç¯çŽããããã»ã¹ã®æ±ºå®ãå€æŽã§ããããã«ããŸãã
- é«ãæè»æ§ãšã«ã¹ã¿ãã€ãºæ§ãåããŠããŸãã
- 4ã€ã®äž»èŠãªã¢ããªã±ãŒã·ã§ã³éçºãã©ãããã©ãŒã ããµããŒãããŸãã
çæ
- èšèšãšéçºã«ã€ããŠååã«ç解ããå¿ èŠããããŸãã
- çæãããã³ãŒãããããæåãã奜ã人ãããŸãã
- Interface Builderæåã®ã¯ãŒã¯ãããŒã®éå®ãµããŒãã
è²»çš
1ã3人ã®ããŒã ã®å Žåãç¡æè©Šçšæéããã®åŸå¹Žé99ãã«ã
ãã©ãããã©ãŒã
iOSãmacOSãAndroidãããã³Webã
ããã
æè¡çã«ã¯ãAwesomeã¯ããŒã«ã§ã¯ãªããªãœãŒã¹ã§ããããã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªãã³ãŒã¹ãæžç±ãããã°ãããããã£ã¹ããã¢ããªã±ãŒã·ã§ã³éçºçšã®ããŒã«ãšãã³ãã¬ãŒãã®ãªã¹ãã§ãã GitHubãç°¡åã«æ€çŽ¢ãããšããªã¹ãã«ã¯ãiOSãšSwiftããAndroidãšJavaScriptã«è³ããŸã§ãããŸããŸãªãã©ãããã©ãŒã åãã«æé«ã®ãã®ãå«ãŸããŠããããšãããããŸãã
ãããã®ã³ã¬ã¯ã·ã§ã³ããå§ãããŸãã
- Vinicius Souzaã«ããçŽ æŽãããiOS
- JÃŒrgenStumppã«ããçŽ æŽãããAndroid
- Sindre Sorhusã«ããçŽ æŽããããªã¹ãã®ãªã¹ã
çµè«ãšããŠãããã»ã¹ãæé©åããããã®äžäœ5ã€ã®ããŒã«ã¯ãèªåã§äœ¿çšããç¬èªã®èŠçŽ ãè¿œå ããããšã§æ¡åŒµã§ããŸãã æ°ããããŒã«ã¯æ¢çŽ¢ãã䟡å€ããããŸããå°ãªããšãèªåã®æéãç¯çŽããããã«ãããããæ¢ãå¿ èŠããããŸãã
Skillboxã®æšå¥šäºé ïŒ
- å®è·µã³ãŒã¹ãMobile Developer PROã ã
- ãªã³ã©ã€ã³ã³ãŒã¹ãProfession Frontend-developerã ã
- å®è·µçãªå¹Žéã³ãŒã¹ãPHPéçºè ãããŒããŸã§ã