
Alfa-Bankã¯ãã¢ãã€ã«ãã³ãã³ã°ã®ãã€ãªãã¢ã®1ã€ã«ãªããŸãããiOSãšAndroidã®ã¢ããªã±ãŒã·ã§ã³ã¯ã2010幎ã«ãé»è©±èªäœããé»è©±ã®ãã©ã³ã¹ãè£å ãããèœåãçããã£ããšãã«ç»å ŽããŸããã ãããŠãããããã¹ãŠã®å¹Žæãçµã£ãä»ãéè¡ã§ã®ã¢ãã€ã«éçºã¯ã©ãã§ããããïŒ
以åã¯ããAlfa Bankã§ã®1æ¥ïŒJavaéçºããšããããã¹ããå ¬ââéããŸããããããããå ã«é²ã¿ãiOSããã³Androidã¢ããªã±ãŒã·ã§ã³ã§ã®äœæ¥ã«ã€ããŠå°ããŸããã ã€ãªã€ã»ãã¡ã¬ããšã¢ã³ãã³ã»ãããã³ãçããŠãããŸããã ååãiLyaãšAntonãšæžããšã誰ãäŒç€Ÿã®è²¬ä»»ãè² ãã®ããããã«ããããŸãïŒ
-2010幎ãhabrayuzer ã Alfa Bankã«Androidã¢ããªã±ãŒã·ã§ã³ã®ç»å Žãçºè¡šãããšããããã®ãããªã¢ããªã±ãŒã·ã§ã³ã®å¿ èŠæ§ã«é¢ããåžå Žèª¿æ»ã«ã¯6ãæ以äžããããŸããããšæžããŠããŸãã ãã以æ¥ãã¢ãã€ã«ãã³ãã³ã°ã¯ç掻ã®äžå¯æ¬ ãªéšåã«ãªããä»æ¥ãããã®èšèã¯ããããèãããŸãã ãããŠããã®äžçã®å€åã¯ã¢ãã€ã«éçºã«ã©ã®ããã«åœ±é¿ããŸããïŒ Alfa-Bankã¢ããªã±ãŒã·ã§ã³ã®éçºã¯åœåããã§ã¯ãããŸããã§ããããè¿å¹Žãäœãå€ãã£ãã®ããçºèŠããŸãããïŒ
ã¢ã³ãã³ïŒãŸããã¹ããŒãïŒä»ãããªãã¯ããã«èŠãããã«ãªãªãŒã¹ããå€ãã®æ©èœãæºåž¯é»è©±ã«ãã©ãã°ããå¿ èŠããããŸãã
2ã€ç®ã¯ãã¢ãã€ã«ãæåã«ãªããã¢ãã€ã«ã®ã¿ã«ãªããŸããã ããã§ãã¢ããªã±ãŒã·ã§ã³ã«ã¯ååã«æŽ»çšãããŠããªããã®ããã¹ãŠå«ãŸããŠããã¯ãã§ãã çŽ3幎åãç§ã®å人çãªæèŠã¯ããã§ãããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãå°ãªããšãæã«äžåºŠäœ¿çšããæ©èœãå¿ èŠã§ãã é »åºŠãäœãå Žåã¯ããµã€ãã«ã¢ã¯ã»ã¹ããŠãã ããããã¹ãŠãé 調ã§ãã ã«ãŒãã®ã¢ã¯ãã£ããŒã·ã§ã³ãªã©ãæ°å¹Žããšã«äœãã䜿çšãããŸãã åã«ãç§ã¯ééããªãèšãã§ãããïŒãªãããã¯ã¢ããªã±ãŒã·ã§ã³ã§å¿ èŠãªã®ã§ããïŒ ãµã€ããéããŸãã
ã€ãªã€ïŒ ATMã«æ¿å ¥ããŸãã
ã¢ã³ãã³ïŒããã¯ã©ããããããATMã®åºã§ãïŒ éåžžãããã¯ããæ©èœããŸãããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã«è¿œå ããå¿ èŠããããŸãã
ãã®ãããªãã£ãã«äœ¿çšãããªãæ©èœãå¯èœãªéãè¿ éã«éçºãããããã®ä¿å®ã«è²»ããæéãççž®ããããã«ãWebViewã¯ã¢ããªã±ãŒã·ã§ã³ã«ãŸããŸãç»å ŽããŠããŸãã ãŠãŒã¶ãŒã5幎ã«1åã¢ã¯ã»ã¹ãããã«ãŒãã®æå¹åãã»ã¯ã·ã§ã³ã§ã¯ãçŸããã¢ãã¡ãŒã·ã§ã³ãå®ç§ã«æŽç·Žãããã€ã³ã¿ãŒãã§ã€ã¹ã¯å¿ èŠãããŸããã 圌ã¯äžåºŠãã¿ã³ãçªããšãããå¿ããããšãã§ããŸãã ãããŠããã®æ©èœããã€ãã£ãã§ã¯ãªãWebViewã§éçºãããšããµã€ãã«æ¢ã«å®è£ ãããŠããããéçºãå éãããæ°åã§äœããæŽæ°ã§ãããããæŽæ°é床ãåäžããŸãã ããã¯ç§ãã¡ã®ä»äºã«å€§ããªåœ±é¿ãäžããŸããã
ãã¡ãããJavaScriptéçºè ã®ç掻ã«ã圱é¿ããããŸããã ç»é¢ãæ§æããåã«ãæºåž¯é»è©±ã«ã€ããŠã¹ããŒã ãã¹ã济ã³ãªãã§ãã ããããããããµã€ãã¯ããããã¹ããŒããã©ã³ã§éãããããšãç¥ã£ãŠããã®ã§ãã¢ãããã£ãã¬ã€ã¢ãŠããå¿ èŠã§ãããŸããã¢ãã€ã«å ã§èŠãå Žåã¯ãã€ãã£ãã¢ããªã±ãŒã·ã§ã³ããããŸãã 圌ãã¯ç§ãã¡ã®ããã«CSSã埮調æŽããŸããã
-ãã¢ãã€ã«ã®ã¿ããšããèšèã話ãããŸãã-Alfa-Mobileã«æ©èœãè¿œå ããŸããããµã€ãã«ã¯è¿œå ããŸãããïŒ
ã¢ã³ãã³ïŒå€ãã¯ãããŸãããããããŸãã ããšãã°ãè£çŠãªäººïŒéè¡ã®æãè£çŠãªé¡§å®¢ã®5ïŒ ïŒã®å Žåãç¹å®ã®æ¡ä»¶ãæºãããããšããŒãã¹ãããïŒãããŒã¢ã«ãŠã³ãã«Xãè¶ ããéé¡ãæã¡ãæãããYãè¶ ããååŒãè¡ãããïŒãç¹å®ã®é¢é£æ©èœã¯ã¢ãã€ã«ã§ã®ã¿å©çšã§ããŸãã
-ç¹°ãè¿ããŸãããAndroidã¢ããªã±ãŒã·ã§ã³ã®ç»å Žã«é¢ãã2010幎ã®æçš¿ãæãåºããŸãã ã³ã¡ã³ãã§ç§ã¯29ã¡ã¬ãã€ãã®ãµã€ãºã«äžæå¿«ãªé©ããèŠããŸãããåœæã®AndroidãŠãŒã¶ãŒã¯1ã¡ã¬ãã€ãããšã«ã«ãŠã³ãããå¿ èŠããããå žåçãªã¢ããªã±ãŒã·ã§ã³ã¯ã¯ããã«è»œéã§ããã ä»ã§ã¯ãæ°åã®ã¬ãã€ãã®å®äŸ¡ãªã¹ããŒããã©ã³ã§ãã£ãŠããæ代ã¯éãããã«èŠããŸããããFacebookã¢ããªã±ãŒã·ã§ã³ããããªã«å€§ããã®ã«ãããã¯ããããããšããæçš¿ããŸã ãããŸãã ãããã£ãŠãæ¯èŒããã®ã¯èå³æ·±ãã§ããçŸåšãã¢ããªã±ãŒã·ã§ã³ã®ééã¯ã©ããããã§ããïŒ
ã€ãªã€ïŒ iOSã«ã¯66ã¡ã¬ãã€ããããŸãã
ã¢ã³ãã³ïŒç§ãã¡ã«ã¯çŽ40ããã©ã¹ãŸãã¯ãã€ãã¹5ããããŸãã
-ãµã€ãºã¯ä»ããªãã«ãšã£ãŠå·®ãè¿«ã£ãåé¡ã§ããïŒ æéãšãšãã«æé·ããŸããããããæžããåªåãããªããã°ãªããŸãããïŒ
ã¢ã³ãã³ïŒ Androidã¢ããªã±ãŒã·ã§ã³ã®ãµã€ãºã¯ç¹ã«å¢å ããŠããŸããã ã³ãŒãã®éã¯å¢ããŠãããããã€ãã®ã©ã€ãã©ãªãè¿œå ãããŠããŸãããéå»2幎éã§ã¢ããªã±ãŒã·ã§ã³ã¯æžå°ããŠããŸãã Googleã¯VectorDrawableãå°å ¥ããŸããããªãœãŒã¹ã¯4ãµã€ãºã®PNGãµã€ãºã§ã¯ãªããæ°ãããã€ãã®åçŽãªãã¯ã¿ãŒæç»ã§ä¿åãããŠããŸããã ã¢ããªã±ãŒã·ã§ã³ã®ç³é¹žã¯UIã«è¡šç€ºãããŸããã ããŠãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®å€§ããªåçãããç§ã®æèŠã§ã¯ãèæ¯ã¯ã»ãã®2ã3ãããããŸããã ä»ã®ãã¹ãŠã¯ãå¿ èŠã«å¿ããŠããã¯ãšã³ãããæ¡åŒµãããŸãã
IlyaïŒ App Storeãéããã°ããã§ã-圌ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ééã90ã¡ã¬ãã€ãã§ãããšæžããŠããŸãããããã¯ã¢ã³ããã¯ããŒãžã§ã³ã§ãããã€ã³ã¹ããŒã«åŸã«ããªãã®ã¹ããŒã¹ãå æããŸãã Alphaã«å°çããæç¹ã§ãããŠã³ããŒããšã¯äœã§ããããçŸåšã¯66ã¡ã¬ãã€ãã§ãããæé·ã®çç±ã¯äœã§ããïŒ ãã€ãŠãªãã£ãã¹ãŠã£ããã®ããããããŸãã ãªãœãŒã¹ã«å ããŠãã¯ã...
ããããããšãã°ãiPhoneã«ã¯1ãæããã12ã®ã¬ãã€ãã®ãã©ãã£ãã¯ããããŸãã ããã¯éåžžã«ç·æ¥ã®åé¡ã§ã¯ãªãããã§ãã
ã¢ã³ãã³ïŒã¢ã¹ã¯ã¯ã®å Žåã
ã€ãªã€ïŒç§ãã¡ã¯ã¢ã¹ã¯ã¯ã«å¯ŸããŠéåžžã«å€§ããªåèŠãæã€ãŠãŒã¶ãŒã®ååžãæã£ãŠããŸãã
äžè¬çã«ãç§ãã¡ã¯ã¢ããªã±ãŒã·ã§ã³ãæžããããã«æ¥é²çãªããšã¯äœãããŠããŸãããããªããç¹ã«äœããããããšã¯ãŸããããŸããã ãã¹ãŠã®PNGãæºããã³ãŒãã絶ãããªãã¡ã¯ã¿ãªã³ã°ããŠãäœåãªéšåãåé€ããŸããã ãã ãã100åã®ã³ãŒããã¡ã€ã«ãåé€ããŠããæ倧1ã¡ã¬ãã€ãããããŸããããã¯å¹žéãªå Žåã§ãã ã€ãŸãããã¹ãŠã®ç°¡åãªããšã¯ãã§ã«è¡ãããŠããŸãã å¿ èŠã«å¿ããŠæ°ãããã®ãäœæããŸãã
App Storeã§ã¯ãã¢ãã€ã«ãããã¯ãŒã¯çµç±ã§ããŠã³ããŒãããéã«150ã¡ã¬ãã€ããšããå¶éããããŸãããéåžžã¯åé¡ãããŸããã Facebookã®éãã¯å®éã«çŽ200ã¡ã¬ãã€ããéå§çž®åœ¢åŒã§400ã§ãå€ãã®ã©ã€ãã©ãªãšããããçš®é¡ã®ã©ã€ãã©ãªããããåæã«éåžžã«é »ç¹ã«ãªãªãŒã¹ãããŸãã ãµã€ãºã«é¢ããèå³æ·±ãæçš¿ã1ã€èªã¿ãŸããã ããã§ããã人ãã¢ããªã±ãŒã·ã§ã³ã®æŽæ°ã«ã€ããŠæžãããæ¯é±300ã¡ã¬ãã€ããããŠã³ããŒãããªããã°ãªããªãã®ã«ãããªãã¯å€¢äžã«ãªã£ãŠãããã ããããç§ãã¡å šå¡ããã®è©±ãå§ããŠããããã§ããã¹ãŠã®äŒæ¥ã¯ããé »ç¹ã«ããã°ãã°äœããã®çš®é¡ã®äŸ¡å€ãçã¿åºãããã«ãªãªãŒã¹ããããšããŠããŸãããããã¯ã¯ãŒã«ã§ãã
ã¢ã³ãã³ïŒãã®éãç§ã¯AndroidããŒãžã§ã³ã®æ£ç¢ºãªãµã€ãºãèŠãŸãããä»ã§ã¯42.26ã¡ã¬ãã€ãã®éãã§ãã ååãšããŠãå¯èœãªéããµã€ãºãå°ããããããåªããŠããŸãã å€ãã®ã¹ããŒã¹ãå ãããã¹ãŠã®ãªãœãŒã¹ãã¯ãªãŒã³ã¢ãããããã¹ãŠããã¯ãã«ã«å€æããããã³ãŒãå ã§ã¬ã³ããªã³ã°ããããããã¯ãšã³ãããããŒãããŸãã
ããããããã¯ã³ãŒãã®å šäœçãªå質ãã€ãŸãã¢ããªã±ãŒã·ã§ã³ã«åãçµãã§ãããããªãã®ã§ãã ã¿ã¹ã¯ããã¢ããªã±ãŒã·ã§ã³ãæå°éã«åæžãããããšã§ããå ŽåããããååŸããŠããã«å³ããåæžããŸãã ããããããã§çµæãã»ãšãã©åŸãããªãäœåãªä»äºãèªåã§æ¢ãã®ã¯ãªãã§ããïŒ è£œåã¡ããªãã¯ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã40ã¡ã¬ãã€ããã10ã«æžãããŠãã補åã«å°ããªäŸ¡å€ãããããããããã§ãã ããŠã³ããŒããé床ãçŸããã¢ãã¡ãŒã·ã§ã³ã®æé©åã«æéãè²»ããããšããå§ãããŸã-ããã¯ãŠãŒã¶ãŒã«ãšã£ãŠããè¯ãæ¹æ³ã§ãã ãŸããããã¯ç§ã®äž»èŠ³çãªæèŠã§ãã
-Apple PayãšGoogle Payã®ãµããŒãã¯ãŠãŒã¶ãŒã«ãšã£ãŠéåžžã«æ³šç®ã«å€ããŸããããã®è©±ã¯éè¡ã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã«é¢ãããã®ã§ã¯ãããŸããã 圌ãã®ãµããŒããå°å ¥ããããšããã¢ãã€ã«éçºè ã¯ãŸã£ããå¿ èŠã§ããããããŠåœŒãã®åœ¹å²ã¯ã©ããããã§ããïŒ
ã¢ã³ãã³ïŒéè¡ã«Apple Pay / Google Payã®æ¯æããè¿œå ããã ããªããã¢ãã©ã€ã¶ãŒãäžè¬çã«åç·ãåŒãä»ããå¿ èŠã¯ãããŸããã ããããããªããããŸããããããªãã圌ãã¯å¿ èŠã«ãªããŸãã
ã€ãªã€ïŒãããš-ããã¯ãããšãã°ãã¢ããªã±ãŒã·ã§ã³ããããžã¿ã«ã«ãŒãã®æäœãäžæåæ¢ã§ãããšããäºå®ã«é¢ãããã®ã§ãã Apple PayãšGoogle Payãå®è¡ãããŠããããã€ã¹ã®ãªã¹ãããããã¢ããªã±ãŒã·ã§ã³ããäžæåæ¢ãŸãã¯ãªã³ã¯è§£é€ã§ããŸãã
ã¢ã³ãã³ïŒããããäžè¬çã«ãåç·ã§ã®äœæ¥ã¯æå°éã§ãã æ倧ã®ç®æšãèšå®ããŠããã¥ã¡ã³ãã泚ææ·±ãèªãã§ãã2ã3é±éã§å®äºããŸãã äž»ãªä»äºã¯åŠçã«ãããŸã-端æ«ãšåéã«ãªãããã¹ã¿ãŒã«ãŒããšãã¶ã«åæããŸãã åããããã€ã³ãã£ã³ã°ã¯ãæ¬è³ªçã«æ°ããä»®æ³ã«ãŒãã§ãã æ°ããèå¥åã圌女ã«å²ãåœãŠããããã¹ãŠã®åé¡ã¯è žã®ã©ããã«ãããŸãã ãããŠãApple PayãŸãã¯Google Payã¢ããªã§åéãäœãå¿ èŠããããŸãã
ã€ãªã€ïŒãŸããã¢ããã«ãã°ãŒã°ã«ã®ã©ã¡ããããããèš±ãã¹ãã§ãã

-ãã»ãã¥ãªãã£ãã¯ãéè¡ããšããèšèã«é¢é£ä»ããããŠããŸãããããã¯ã¢ãã€ã«éçºã«ã©ã®ããã«åœ±é¿ããŸããïŒ ããšãã°ããã¹ãŠã®äœæ¥ããªãã£ã¹å ã§ã®ã¿è¡ãããã¹ãã§ãããšå€æããŠããŸãããïŒ
IlyaïŒãã¹ãŠã®éçºè ã«ã¯ã瀟å ãããã¯ãŒã¯ã«æ¥ç¶ããVPNããããããäžçäžã©ãããã§ãã¢ããªã±ãŒã·ã§ã³ã«åãçµãããšãã§ããã¢ã¯ã»ã¹ãå¯èœã§ãã ãã°ã€ã³ãã¹ã¯ãŒããã©ãããããã«ã¯èšŒææžããããŸããããã€ã¹ãçŽå€±ããå Žåããã¹ãŠããããã¯ã§ããŸãã äžè¬ã«ãã¢ãã€ã«éçºè ã¯ããã«ãµãŒããŒã«ã¢ã¯ã»ã¹ã§ããªãããããªã¹ã¯ã¯äœããªããŸãã
ã¢ã³ãã³ïŒã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã«ã€ããŠèšãã°ãã»ãšãã©ã®è匱æ§ã¯APIã¬ãã«ã§ã¯ããŒãºãããŸãããã¹ãŠã®æäœã¯SMSçµç±ã§éä¿¡ãããã¯ã³ã¿ã€ã ãã¹ã¯ãŒãã«ãã£ãŠç¢ºèªãããäžå¯©ãªæäœããããã¯ããããã«ãã£ã«ã¿ãŒãèšå®ãããŸãã è©æ¬ºã®çããæå°éã«æããŠãæäœããããã¯ãããã³ãŒã«ã»ã³ã¿ãŒã®ãªãã¬ãŒã¿ãŒãã¯ã©ã€ã¢ã³ãã«é»è©±ããããŸãã ãµãŒããŒãšã®å¯Ÿè©±ã¯æå·åããããã£ãã«ãä»ããŠè¡ããã蚌ææžã®æ€èšŒãå®è£ ãããŠããŸãã
-ããå€ãã®éè¡ãä¿å®äž»çŸ©ã«é¢é£ä»ããããŠããŸãã ã¢ãã€ã«ã§æ°ãããã®ã䜿çšããã®ã¯ç°¡åã§ããïŒããšãã°ãSwiftãžã®ç§»è¡ã¯ã©ã®ããã«èŠããŸããïŒããŸãã¯éæšæºã§ããïŒ
IlyaïŒç§ãã¡ã¯æšå¹ŽããSwiftã«ã€ããŠæžããŠããŸãããã2.3ããå§ãŸããä»ã§ã¯4çªç®ã«ãªããŸããã æ°ãããŠçããæè¡ããªãŒãã³ã«èŠãŠããŸããçŠæ¢ã¯ãããŸããã 奜å¥å¿ã®åŒ·ã人ã¯ãããããã³ãŒããä»ããŠã®ã¿UIãæäœãããã®ããã«SnapKitã䜿çšãããšèšãããšãã§ããŸãã
ã¢ã³ãã³ïŒã¯ããçŠæ¢äºé ã¯ãããŸããããéçºè ã®å ±éã®å éšã³ãã¥ããã£ããããŸãã ãã¯ãããžãŒãææã§ãå¿ èŠã§ãæ¬åœã«åœ¹ç«ã€ããšã蚌æãããã誰ããããã䜿ãå§ããŸãã
ãã ããããã§ã¯ãAlfa-Mobileãããžã§ã¯ããäœå¹Žãåã®ãã®ã§ãããæ©èœãšã¬ã¬ã·ãŒã®å°Ÿã倧ããããšãç解ããå¿ èŠããããŸãã ãã¡ãããå€ãã¯æžãçŽãããŠããŸãããå€ããã®ã¯æ®ã£ãŠããŸãã ãããŠãå€ãã®äººã ããããžã§ã¯ããåé²ããããš...ãããªãã®MVPã¯ãã¯ããã¡ãã·ã§ããã«ã§ã¯ãããŸãããã¹ã¿ã€ãªãã·ã¥ã§ãã¡ãã·ã§ããã«ãªè¥è ã®MVRxã玹ä»ããŸãããããšèšããšãã圌ãã¯è«ççãªè³ªåãããŸããããããä»ãããªãã¯æ°ããã¢ãŒããã¯ãã£ãé©çšããŸããæ®ãã«ïŒ 2ã€ã®ã¢ãŒããã¯ãã£ãåå¥ã«ãµããŒãããå¿ èŠããããŸããã ãããŠã誰ãã圌ãæããã®ãåŒãããç¶ããã°ããããšäžç·ã«æ®ããããšã¯ãŸããŸãé£ãããªããŸãã
倧ãŸãã«èšã£ãŠãAsyncTaskããRxãžã®ç§»è¡ã䟡å€ãããããšã蚌æããå Žåã2-3-4ã®ã¢ãããŒããé ãããªãããã«ãå€ããã®ã®ãªãã¡ã¯ã¿ãªã³ã°ãšããŠãå®è£ æã«èšç»ãäœæããŸãã
ã€ãªã€ïŒã€ãŸãããã¹ãŠãã³ãã¥ããã£ãéããŠæ©èœããŸãã ã³ãã¥ããã£ã¯åãå ¥ããŸã-ããã§ã¯è¡ããŸãããã
-ã³ãã¥ããã£ã2ã€ã®ãã£ã³ãã«åãããŠããããšã¯ãããŸããïŒ
ã€ãªã€ïŒããã¯èµ·ãããŸãã ãã®åŸãæçµæ±ºå®ã¯ãªãŒãã«ãã£ãŠè¡ãããŸãã
ã¢ã³ãã³ïŒããã¯ç§ãã¡ã«ãèµ·ãããŸããã ããšãã°ãåäœãã¹ããæžãå Žåã å人çšãšæ³ççšã®2ã€ã®ã¢ããªã±ãŒã·ã§ã³ããããŸãã ãã¹ãã®äœæãæ¹åããããšãèãããšããååã¯ãKotlinã§ãã¹ããæžããŸãããããšèšãïŒçŽ1幎åïŒãååã¯ãKotlinã¯è¯ãããçŽç²ãªJUnitã§Kotlinãæžãã®ã¯éå±ã§ãã³ãŒããå€ãããŸãã SpockãšGroovyããã©ãã°ããŸããã
SpockãšGroovyãèŠãŠãååã¯ããã°ãããããã®ããã«æžããŸãããããšèšããŸããã ãããŠãæ®ãã®ååã¯ãGroovyã§ã®ã¯ããŒãžã£ãŒã¯çã«ããªããªããã®ã§ãããšèšããã³ããªã³ã§æžããŸãããã ãã®çµæãçŸåšãããã¢ããªã±ãŒã·ã§ã³ã§ã¯Kotlinã§ãå¥ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯Groovyã§ãã¹ããèšè¿°ããŠããŸãã
-iOSãšAndroidã¯ã©ã®çšåºŠåæããŠããŸããïŒ æ°ããæ©èœã¯äž¡æ¹ã®ãã©ãããã©ãŒã ã«åæã«è¡šç€ºãããŸããïŒ
IlyaïŒç§ãã¡ã¯ã¹ã¯ã©ã ã«åãçµãã§ããã®ã§ãåããŒã ã¯ãã¹ãŠã®ã¬ã€ã€ãŒã«åå è ãããå°ããªã¹ã¿ãŒãã¢ããã§ããããã¹ãŠã®ã¬ã€ã€ãŒã«äžåºŠã«æ°ããæ©èœãè¿œå ããŸãã ãããã£ãŠãéåžžãæ©èœã®æºåã¯ã»ãŒåãã§ãã ããŒãžã§ã³ã®ãªãªãŒã¹ã«ã¯å°ããªéåæãããå ŽåããããŸããããšãã°ã以åã®Androidã§ã®ãªãªãŒã¹ãããã³æ©èœã¯å°ãåã«ãªãªãŒã¹ãããŸãã ãã¡ãããåèšèšã®ãããªå€§ããªå€æŽãäžç·ã«è¡ããŸãã
-ããªãã®ã¢ããªã±ãŒã·ã§ã³ã¯äœçŸäžãã®ã¹ããŒããã©ã³ã«ã€ã³ã¹ããŒã«ãããŠããŸããããã®ãããªèŠæš¡ã®åœ±é¿ã¯äœã§ããïŒ ããšãã°ãããŸãç¥ãããŠããªãã¹ããŒããã©ã³ã®å¥åŠãªæ¯ãèãã®ãããªãšããŸããã¯ãªããšãæ°ã«ããå¿ èŠããããŸããïŒ éåžžã«ãŸããªåé¡ã§ãã誰ããåŠå®çã«åå¿ããä¿®æ£ããå¿ èŠãããããšãããããŸããïŒ
ã€ãªã€ïŒã¯ãããã€ããããããªããšã¯çµ¶å¯Ÿã«ãªãã ããããšæããšã100ïŒ ã«ãªããŸãã ä»äºã«å°±ããšã1ãæåŸã«ã誰ãããªãããšæã£ãã±ãŒã¹ããããŸããããã¡ããã巚倧ãªãŠãŒã¶ãŒããŒã¹ã§ã¯ããã¹ãŠãåºãŠããŸããç·šéããªããã°ãªããŸããã§ããã ã¯ããåžžã«ãã®ãããªã±ãŒã¹ããããŸãã ãããã£ãŠããã¹ãã¯ç§ãã¡ã«ãšã£ãŠç¹ã«éèŠã§ããããžãã¹ããžãã¯ãæ€èšŒããã³ãŒãå ã®ãŠããããã¹ãïŒäžéšã®å¢çã±ãŒã¹ãå«ãïŒãããžãã¹ã·ããªãªãæ©èœããããšãèªåçã«æ€èšŒããUIãã¹ããããã³åãå ¥ããã¹ãã¬ã€ã¢ãŠããã©ãã«ãã¯ããŒã«ãããŠããªãããšã確èªããã¢ããªã±ãŒã·ã§ã³ãæåã§æ©èœã®é害ããã§ãã¯ãããšãã«ãã¹ãŠãæ£åžžã§ããããªã°ã¬ãã·ã§ã³ã§ãã
ã¢ã³ãã³ïŒãšããŸããã¯ãªã¹ããŒããã©ã³ã«ã€ããŠïŒiOSã®ãã¹ãŠãæ確ã§ãããããã€ã¹ã®ããŒã¹ã¯ããã»ã©å€§ãããªããAndroidã¯ããã€ã¹ã®åç©åã§ãã ã¢ããªã±ãŒã·ã§ã³ã®äž»ãªãã°ã¯ä¿®æ£ãããŠããã«ãããããããäžåœã®ç¡åããã€ã¹ã§äžå¯è§£ãªã¹ããŒã¹ãçºçããã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ããããšããããŸãã
Androidèªäœãã¯ã©ãã·ã¥ããããšããããŸãããAndroidã§ãããè¡ãããšã¯ã»ãšãã©ã§ããŸããã å€æŽãããããã€ã¹ã¡ãŒã«ãŒã倱æããå ŽåããããŸãã ãã®ãããªåé¡ãç°¡åã«è§£æ±ºããŸãããã®ãããªããã€ã¹ãæ¢ããæ¬ é¥ã®åå ãçªãæ¢ããŸãã ãã¢ã¹ã¯ã¯ã«ãã®ãããªããã€ã¹ãšãã®ãããªããã€ã¹ãæã£ãŠãã人ã¯ããã¹ãããŠã¿ãŸãããã-äŒæ¥ãã£ããã§é »ç¹ã«ã¡ãã»ãŒãžã衚瀺ãããŸãã
æ°å¹ŽåãPlayã¹ãã¢ã®åãããã€ã¹ããåããã¬ãã¥ãŒãæ©èœããªãããšããã¬ãã¥ãŒããããäœãã¯ã£ããããŠããªãã£ããããããã®ã¹ããŒããã©ã³ãèŠãããšãã§ããŸããïŒããšããåºã«è¡ããŸããã 30å以å ã«æ¡ä»¶ä»ã1000ã«ãŒãã«ã§ãã®ããã€ã¹ãè³Œå ¥ãããã©ããã決å®ããå®éã«ã¢ããªã±ãŒã·ã§ã³ã®ç¹å¥ãªã¢ã»ã³ããªãã€ã³ã¹ããŒã«ããèœäžã®çç±ãèŠã€ãããªãã£ã¹ã«æ¥ãŠãä¿®çããŠããªããŒãããŸããã ããã§ã¯ãåé¡ã¯è§£å床ã«é¢é£ããŠããŸãããããã€ã¹ã¯å€§ããã解å床ã¯ã©ããããããéåžžã«å°ããã£ãã®ã§ãã
-ãAndroidèªäœãæã ã¯ã©ãã·ã¥ãããïŒåœŒã®åŽã«çã¿ãæããŸããïŒ ããšãã°ãGoogleã¯ã¢ããªã±ãŒã·ã§ã³ãå¶éããããã«Dozeã¢ãŒãã䜿çšã§ããŸãã
ã¢ã³ãã³ïŒGoogleããã¹ãŠãäºåã«æ瀺ããŠãããšããäºå®ããå§ããŠã¿ãŸããããå€æŽã«ã€ããŠèª¬æããI / Oã«ã€ããŠè©±ããéçºè åãã«æ°ããããŒãžã§ã³ãäºåã«ãªãªãŒã¹ããŸãã ãããŠãéèŠãªãã®ã¯ãã¹ãŠäºåã«éããããšããŸãã
æã«ã¯åªåãå¿ èŠã§ãã å®è¡æã®ã¢ã¯ã»ã¹èš±å¯ã衚瀺ããããšããããã¯å€ãã®èŠçãåŒãèµ·ãããŸããã1é±é以äžåº§ã£ãŠãã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®ã±ãŒã¹ããã£ããããå¿ èŠããããŸããã ãããããã¥ãŒã¹ããã©ããŒããã°ããªãªãŒã¹æã«çªç¶åé¡ãçºçããããšã¯ãããŸããã
ãããŠãäžè¬çãªAndroidã®åé¡...ããšãã°ãæšå¹ŽãAndroid 4.0ã®ãµããŒããæŸæ£ããããåŸãŸããã§ããã ãªãã§ïŒ WebViewã¯éåžžã«å€ãã®ããã€ã¹ã«æèŒãããŸããã AsyncTaskã¯ããã§æãã§ã¯ãªããã·ã¹ãã ã¯ãã®ãããªã¯ã©ã¹ãèŠã€ããããšãã§ããŸããã§ããã ã©ã®ãœãªã¥ãŒã·ã§ã³ãå©çšå¯èœãã調ã¹ãŸããããäœãåŸãããŸããã§ãã; WebViewã䜿çšããŠå®è£ ãããéèŠãªæ©èœããããŸããã
ç§ãã¡ã¯äœããããªããã°ãªããªãã£ãã®ã§ãçŸåšã®ããŒãžã§ã³ã§ã¯4.1ãããäœãããŒãžã§ã³ïŒåœæã¯2ã2.5ïŒ ã§ãã£ãïŒããŠãŒã¶ãŒã«æ®ããæ¹ãè¯ããšå€æãã98ïŒ ã ãæŽæ°ãããŸããã

-iOS / Androidã®æ°ããããŒãžã§ã³ã®ãã¬ãŒã³ããŒã·ã§ã³ã§ã¯ãARKitã®ãããªå£®å€§ãªãã®ãèŠãããšãã§ããŸãããæ¡åŒµçŸå®ã¯æããã«ããªãã®ãã®ã§ã¯ãããŸããã æ°ããããŒãžã§ã³ããªãªãŒã¹ããããšããããã¯ããªãã«ã©ã®çšåºŠåœ±é¿ããŸããïŒ
ã€ãªã€ïŒããŠãæ¡åŒµçŸå®ã¯ç§ãã¡ã®ããšã§ãïŒ iPhoneã§èµ·åããã¹ããŒããã©ã³ãåãããŠæ¡åŒµçŸå®ã®ATMãæ€çŽ¢ã§ããå Žæã瀺ããŸãã ãã¡ãããããã¯é·ãéè¡ãããŠããŸããããã¡ããARKitã§ã¯è¡ãããŠããŸããã
äžè¬ã«ãiOSã®æŽæ°ã«ã€ããŠ-ã€ã³ã¿ãŒãã§ãŒã¹ãiOS 6ããiOS 7ã«åãæ¿ããŠå®å šã«åèšèšãããšããå£ããŠããå¯èœæ§ã®ãããã¹ãŠã®ãã®ãå£ããŸããã ç§ã¯åœæAlphaã§åããŠããŸããã§ããããå¥ã®ãããžã§ã¯ãã§2ãæéåãæ¿ããŸããããããã¯ææã§ããã ãããŠãã®åŸããã¹ãŠãç°¡åã«ãªããŸãã iOS 11ã§ã¯ãAppleããã¡ã€ã«ã·ã¹ãã ãªã©ã®å éšã§å€ãã®ããšãè¡ããŸããããåçãªå€åã¯ãããŸããã§ããã ã¡ãªã¿ã«ãé»è©±ããã®ãã¹ãŠã®åçãæŽæ°ããåŸãæ¶å»ãããŸããã ããã¯ã¢ãããæ®ã£ãŠããããŒããããã®ã¯è¯ãããšã§ãã
ãã®ãããiOS 11ã®é©æ°ã®ãã¡ãç§ãã¡ã«é¢ä¿ã®ãããã®ã¯ã»ãšãã©ãããŸããã æè¡çãªãã®ã䜿çšããŠããããšã¯æããã§ããSwiftãXcodeã®æ°ããããŒãžã§ã³ã«åãæ¿ããŠããŸãã ããã¯éåžžã®ããã»ã¹ã§ããããããã¹ãŠãæ éããŸãããããã«ã¯ãããŸããã æ¥çã§å€ãã®ããã声ããã£ã3çªç®ã®Swiftã®ãªãªãŒã¹ã§ãã
ã¢ã³ãã³ïŒããã¯ææ°ã®Androidã¢ããããŒãã§ãããŠãŒã¶ãŒã«ã¯ã»ãšãã©åœ±é¿ããŸããã§ããããå®éã«ã¯éçºè ã«æ¬åœã«åœ±é¿ããŸããã 圌ãã¯å€ãã®å»ºç¯ç©ãæ瀺ããããã«ããèŠãŠèãå§ããŸãã-ããšãã°ãGoogleãå°å ¥ããããŒã¿ããŒã¹ã§ããRoomã§æ°ããæ©èœãå®è¡ããããšã«ããŸããã Androidã¢ãŒããã¯ãã£ã³ã³ããŒãã³ããããã«èå³ãæã¡ãŸããããæåã¯ããŸãã«ãç²æ«ã§ãå®å šã«äœ¿çšããæºåãã§ããŠããŸããã§ããã
ãããŠããŠãŒã¶ãŒã«ãšã£ãŠæ°ãããã®ãã-Instant Appsã¯ã¯ãŒã«ãªãã®ã§ãããããã«ãæ°ä»ããŸããããæ¥ãã§å®è£ ããŸããã§ããã ã¢ããªã±ãŒã·ã§ã³ã®ä»»æã®ã»ã¯ã·ã§ã³ãã€ã³ã¹ã¿ã³ãã¢ããªããèµ·åããã«ã¯ãã¢ããªã±ãŒã·ã§ã³å šäœãæ·±ããªãã¡ã¯ã¿ãªã³ã°ããå¿ èŠããããŸãã Alpha Mobileã¢ããªã±ãŒã·ã§ã³ã®èŠæš¡ã§ã¯ãããã¯éåžžã«è€éã§æéãããããŸãã 2018幎ã«ãããå®è£ ã§ããããšãé¡ã£ãŠããŸãã
-iOS 11ã§ã¯ãCoreMLãè¿œå ãããŸããããæ©æ¢°åŠç¿ã¯ã©ã®çšåºŠé¢é£ããŠããŸããïŒ
ã€ãªã€ïŒçŸåšã®åœ¢ã®CoreMLã¯ãç§ã«ãšã£ãŠã¯ã»ãšãã©æå³ããªãããã§ãã 圌ã¯ã¢ãã«ãèšç·Žããæ¹æ³ãç¥ãããæ¢è£œã®ã¢ãã«ã®ã¿ã䜿çšããŸãã ãã®ç¹å®ã®ããã€ã¹ã䜿çšããç¹å®ã®ãŠãŒã¶ãŒåãã«ã¢ãã«ããã¬ãŒãã³ã°ã§ãããšäŸ¿å©ã§ãã ããšãã°ã誰ããæºåž¯é»è©±ã«500ã«ãŒãã«ãæ¯æãã圌ã¯50ãæ¯æããŸãããããŠãä»åºŠã¯ã誰ãã500ãæ¯æãããã500ãææ¡ããŸãã 50ã®æ¹ãè¯ãã§ãããã
ããã¯ãšã³ãã§ã¯ãããã¯ç§ãã¡ã«ãšã£ãŠããé¢é£æ§ããããŸãã ããšãã°ããŠãŒã¶ãŒãã©ã®ãã©ã³ã¶ã¯ã·ã§ã³ãæã€ããäºæž¬ããå Žåã - , , , , , , . .
â Mobius , . , ?
: , , , . . - , MVC . - . . - . .
. , , MVC, . , , , , .
, MVC , , MVVM. , . , MVVM -, - , . , - , , , . Mobius , « , , , , - , ».
ãŸãã«ããããã£ãã MVVM, VIPER, Clean Swift, : « , ». . : , MVVM. , ? VIPER , ? , .
, Clean Architecture , , âYet another architectureâ. , , . , , , , , «, VIPER ». «», , , . .
: , . Android 2008-. . â , 2010-. , , mobile-only . 5 , , , .
Google , , , : . , IDE, SDK, .
2010- Google I/O Google , -. , , â - , , . â , . . , , , - . , , , : Java , iOS VIPER.
, - . , . - « ».
: . , «--», . â . , , .
â , - ?
: . . CI, , Grafana . DevOps-, - . , â , : â .
. , , , -, , , , - . - -CIâŠ
: « » « »?
: ⊠, , CI! . .
: . Android- , : « ? ?»
- : « , ». - : « - , C, , ». , . JSON, , , , . , , . , - .
â . . 20 , , , , ? .
, CI. Mac Pro, . . , , , . Android- . , Docker-. Jenkins-. Android DevOps. , .
. « ». , . : Spock, Spek, Espresso. . , , .
, . ? , , mockup â , , , . , , . , , , - , - .
â !

Mobius , - . , , !