
翻蚳è ããïŒããã»ã¹ãšéçºã®çµæãè©äŸ¡ããããšã¯ãééã®å°ºåºŠã䜿çšãããªãå Žåãããªã䞻芳çãªãã®ã§ãã ã¿ããã¹ããŒã¹ãgitãŸãã¯mercurialãmavenãŸãã¯gradleãªã©ãé·ãéè°è«ããããšãã§ããŸããããã®ãããªè«äºã¯ããã§ããã¬ãŒããŒãããã€ãã®ç¹å¥ãªã±ãŒã¹ã«é¥ããŸãã ãã1ã€ã¯ããããžã§ã¯ãã®åäžæ§ã®éµå®ã§ããããã¯ãã§ã«æž¬å®å¯èœãªéã§ãã
æªãæ¹æ³è«ã¯ãæ¹æ³è«ãªããããåªããŠããŸããäžè¬çãªããšã«å ããŠãAndroidå°çšã®ã¢ãã€ã«éçºã«ã®ã¿åºæã®åºæã®ãã®ããããŸãã Karumiã®Pedro VicenteGómezSánchezã¯ãäž»ãªæè¡åéã骚ããšã«å解ããAndroidãã©ãããã©ãŒã ã®éçºã®æ£ç¢ºã§å®¢èŠ³çãªè©äŸ¡ã®ããã«æ£ç¢ºãªè³ªåãããŸããã ã¿ã¹ã¯ã衚瀺ãããå ŽåïŒä»ã®äººã®ãããžã§ã¯ããè©äŸ¡ããã«ã¯ããã®æ¹æ³è«ã䜿çšããããšããå§ãããŸãã ãã®æ¹æ³è«ããã§ãã¯ãªã¹ããšããŠäœ¿çšããŸããã çµæã¯ãéå°é家ã«ãšã£ãŠéåžžã«ç解ããããææžã§ãããåã«ããŽãªã®åã«ã¯ã0ã1ã®æ£ç¢ºããé å®ãããšããç¹å®ã®äŸ¡å€ããããŸã ã
iOSããã³Androidã¢ããªã±ãŒã·ã§ã³ã®æè¡ç£æ»ã¯ãKarumiã§ã®æ¥åžžæ¥åã®äžå¯æ¬ ãªéšåãšãªã£ãŠããŸãã äžèŠã·ã³ãã«ã«èŠããŸããããã®ãããªãã§ãã¯ã®å®è£ ã«ã¯ãæ€èšãã䟡å€ã®ãã詳现ããããããããŸãã ãã®ããã¥ã¡ã³ãã§ã¯ãç£æ»äžã«æãéèŠãšèãããã®ãæ€èšãããããæè¡åéã«åå²ããŸãã
ããŒãžã§ã³ç®¡çã·ã¹ãã
ããŒãžã§ã³ç®¡çã·ã¹ãã ã䜿çšãããã©ãããã©ã®ã·ã¹ãã ãã©ã®ããã«äœæ¥ããã»ã¹ãç·šæããã-ããã«ãããéçºããã»ã¹ã«ã€ããŠå€ãã®ããšãããããŸãã
- IDEã¡ã¿ããŒã¿ãã¡ã€ã«ããã³ãã®ä»ã®ç¡é¢ä¿ãªèŠçŽ ããªããžããªã«åé¡ãããªãããã«ãé©åã«æ§æããã*ç¡èŠãã¡ã€ã«ããããŸããïŒ
- ãµãŒãããŒãã£ã®ã©ã€ãã©ãªã¯å€éšäŸåé¢ä¿ãšããŠæ§æãããŠããŸããããããšãã¹ãã¬ãŒãžã«ãããŸããïŒ
- ã³ãããã«é¢ããŠç°¡æœã§è¡šçŸåè±ããªã³ã¡ã³ãã䜿çšããŠããŸããïŒ
- ã³ãããã®ãµã€ãºã¯é©åã§ããïŒ
- ã³ãããå
ã®ãã¹ãŠã®ãã¡ã€ã«ã¯åãåé¡ãŸãã¯æ©èœã«é¢é£ããŠããŸããïŒ
- ãæ©èœãã©ã³ããããgit-flowããªã©ã®ãã©ã³ãã¹ããŒã ã䜿çšããŠããŸããïŒ
- æ¯åºåã¯ååãªæ
å ±ãæäŸããŠããŸããïŒ
- ãã¹ã¿ãŒã§ã³ãŒããããŒãžããåã«ãã«ãªã¯ãšã¹ã/ã³ãŒãã¬ãã¥ãŒã䜿çšããŠããŸããïŒ
- PRïŒãã«ãªã¯ãšã¹ãïŒãæ€èšããéã«æ³šæããå¿
èŠãããããšã«é¢ããŠèŠå¶ã¯ãããŸããïŒ
- åPRã®å¹³åã³ã¡ã³ãæ°ã¯ïŒ
- åPRãèæ
®ãã人æ°
- ããŒãžããããã«PRã«ã©ãã ãã+1ãããå¿
èŠããããŸããïŒ
- ãã©ã³ããéãã責任ã¯èª°ã«ãããŸããïŒ
- PRïŒãã«ãªã¯ãšã¹ãïŒãæ€èšããéã«æ³šæããå¿
èŠãããããšã«é¢ããŠèŠå¶ã¯ãããŸããïŒ
- ãªãªãŒã¹ããšã«ãªãªãŒã¹ãã©ã³ãã䜿çšããŠããŸããïŒ
- ã¹ããŒãžã³ã°ããã»ã¹ã¯ã©ã®ãããéããŠããŸããïŒ
- ãªãªãŒã¹åè£ããªãªãŒã¹ããåã«ããªãªãŒã¹åè£ã«å¯ŸããŠããã€ã®ä¿®æ£ãè¡ããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã®å
¬éããŒãžã§ã³ã®æ£ç¢ºãªã³ãŒãã«åãæ¿ããããšã¯å¯èœã§ããïŒ
- æšå¹ŽãªãªãŒã¹ããä¿®æ£ããã°ã©ã ã®ä¿®æ£ã¯ããã€ã§ããïŒ
- ãã¹ã¿ãŒ/éçºãã©ã³ãã«ããŒãžããåã«ã³ããããããŒãžïŒã¹ã«ãã·ã¥ïŒããŸããïŒ
- ãã¹ã¿ãŒ/éçºãã©ã³ãã¯ãã€ã§ããªãªãŒã¹ã®æºåãã§ããŠããŸããïŒ
ãã«ãããŒã«
決å®èŠå ã¯ãéçºè ã®ãã·ã³ããã³ä»ã®å€éšã·ã¹ãã ïŒããšãã°ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã·ã¹ãã ïŒã§ã¢ã»ã³ããªããã»ã¹ãéå§ã§ãããã©ããã§ãã
- ãããžã§ã¯ãã§äœ¿çšãããŠããã©ã€ãã©ãªã®æ°ã¯ïŒ
- ãããžã§ã¯ãã¯ã¢ãžã¥ãŒã«ã«åå²ãããŠããŸããïŒ
- MavenãŸãã¯Gradleã¢ãžã¥ãŒã«ã¯äŸåé¢ä¿ã解決ããããã«äœ¿çšãããŠããŸããããŸãã¯ããŒã«ã«ã®.jarãã¡ã€ã«ã䜿çšãããŠããŸããïŒ
- ãããžã§ã¯ãã¯ãå±éºãªè·é¢ã«ãã.dexãã¡ã€ã«ã®ã¡ãœããæ°ã®å¶éã«è¿ã¥ããŠããŸããïŒ ãããšããããã§ã«ïŒ
- ãããžã§ã¯ãã§äžèŠãªã©ã€ãã©ãªã䜿çšããŠããŸããïŒ
- ãã«ãããã¯ã¹ã¯äœ¿çšãããŠããŸããïŒ
- å€éšäŸåé¢ä¿ã¯ãã¹ãŠææ°ããŒãžã§ã³ã«æŽæ°ãããŠããŸããïŒ
- ãã¹ãŠã®ãµãŒãããŒãã£ã©ã€ãã©ãªã©ã€ã»ã³ã¹ãå°éãããŠããŸããïŒ
- å»æ¢ãŸãã¯ãµããŒããããŠããªããµãŒãããŒãã£ã®ã©ã€ãã©ãªã䜿çšãããŠããŸããïŒ
- æå°SDKã¯æè¡ä»æ§ïŒè£œåã®èª¬æïŒã®èŠä»¶ã®å¯Ÿè±¡ã§ããïŒ
- ã¿ãŒã²ããSDKã¯é¢é£ããŠããŸããïŒ
- ProGuardãŸãã¯ä»ã®é£èªåããŒã«ã䜿çšãããŠããŸããïŒé£èªåïŒïŒ é»æºãå
¥ã£ãŠããŠæ£ããæ§æãããŠããŸããïŒ
- ããŒã¹ãã¢ã®è³æ Œæ
å ±ãšGoogle Playã®è³æ Œæ
å ±ã¯å®å
šãªå Žæã«ä¿åãããŠããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ããŒã¹ãã¢ãšè³æ Œæ
å ±ã¯å®å
šãªå Žæã«ä¿åãããŠããŸããïŒ
- ãã«ãã¿ã€ãã¯é©åã«æ§æãããŠããŸããïŒ
- ãã¬ãŒããŒã¯æ£ãã䜿çšãããŠããŸããïŒ
- ãªãªãŒã¹ãã«ãã¿ã€ãã¯æ£ããæ§æãããŠããŸããïŒ
- ããã¯ã¢ãããªãã·ã§ã³ã¯æå¹ã«ãªã£ãŠããŸããïŒ
- ãªã³ãã¯æå¹ã§ããïŒ ãã¹ãã«åæ ŒããŸãããïŒ
- éç解æããŒã«ã¯ãããŸããïŒ ããã¯æ§æããããã¹ãã«æåããŸããïŒ
- ãã§ãã¯ã¹ã¿ã€ã«ã¯ãããŸããïŒ ããã¯æ§æããããã¹ãã«æåããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³IDãšããŒãžã§ã³å/ã³ãŒãã¯æ£ããæ§æãããŠããŸããïŒ
- IDããŒãžã§ã³ç®¡çã®æ§é ãŸãã¯æŠç¥ã䜿çšããŠããŸããïŒ
- ç¶ç¶ççµ±åããŒã«ã䜿çšãããŠããŸãããæ£ããæ§æãããŠããŸããïŒ
- ãªãªãŒã¹ããã»ã¹ã¯èªååãããŠããŸããïŒ
AndroidãªãœãŒã¹ã®äœ¿çš
Androidã®äžçã«ã¯ããŸããŸãªããã€ã¹ãããããããããç¬èªã®ç»é¢ãµã€ãºãæ©èœãªã©ãåããŠããŸãã ããã€ã¹ã«é¢ä¿ãªãããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ãæé©ã«äœ¿çšã§ããããã«ãããã€ãã®AndroidããŒã«ãéåžžã«æ éã«äœ¿çšããå¿ èŠããããŸãã
- å¯åºŠããã¬ãŒããŒãããã³ãã«ãã¿ã€ãã«äžè¶³ããŠãããªãœãŒã¹ã¯ãããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãæè¡ä»æ§ã«åŸã£ãŠç°ãªããã¯ã»ã«å¯åºŠïŒå¯åºŠïŒã®ç»é¢ãå¿
èŠã§ããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯ãããã¢ãã«/ããããããããã©ã³ãããŸãã¯ãã¯ã¿ãŒãªãœãŒã¹ã䜿çšããŸããïŒ
- æ¬ èœããŠãã翻蚳ã¯ãããŸããïŒ
- 翻蚳ããã»ã¹ã¯èªååãããŠããŸããïŒ
- 翻蚳ã«ã¯ããã©ã«ãã§ã©ã®èšèªãéžæãããŠããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯ãµãŒãããŒãã£ã®ãã©ã³ãã䜿çšããŠããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯ãæååãªãœãŒã¹ãã¡ã€ã«å
ã®æ§æå€ã䜿çšããŸããïŒ
- ãªãœãŒã¹ã«çµ±äžåãå²ãåœãŠãããšã«åæã¯ãããŸããïŒ
- ããã€ã¹ã®ããŒããŠã§ã¢ã«é¢é£ããæ§æãã©ã¡ãŒã¿ãŒã¯ãããŸããïŒæ£ããæ§æãããŠããŸããïŒ
- ã¿ãã¬ããã¯ãµããŒããããŠããŸããïŒ
Androidã¬ã€ã¢ãŠãã®äœ¿çš
å ã»ã©èšã£ãããã«ãäžçã«ã¯ããŸããŸãªAndroidããã€ã¹ãããããããããç¬èªã®ãµã€ãºãšç»é¢å¯åºŠãæã£ãŠããŸãã 決å®èŠå ã¯ãAndroidã¬ã€ã¢ãŠãã®é©åãªäœ¿çšã§ãã
- ã¢ããªã±ãŒã·ã§ã³ã®ã¬ã€ã¢ãŠãã®ã¬ã€ã€ãŒæ°ã«èµ·å ããããã©ãŒãã³ã¹ã®åé¡ã¯ãããŸããïŒ
- ããŒããšã¹ã¿ã€ã«ã䜿çšããŠããŸããïŒ
- ãincludeãã¿ã°ã䜿çšããŠã¬ã€ã¢ãŠããåå©çšããŸããïŒ
- ã¬ã€ã¢ãŠãã§æ£ããã¿ã€ãã®ã°ã«ãŒãåã䜿çšããŠããŸããïŒ
- ããŸããŸãªç»é¢ãµã€ãºãã¬ã€ã¢ãŠãã«å«ãŸããŠããŸããïŒ
- ã¬ã€ã¢ãŠããšãŠã£ãžã§ããã«å²ãåœãŠãããååãçµ±äžããããã«ãåœåèŠåã䜿çšãããŠããŸããïŒ
- ãªã¹ãã¯ListViewãŸãã¯RecyclerViewã䜿çšããŠå®è£
ãããŠããŸããïŒ
- AndroidãµããŒãã©ã€ãã©ãªã¯æ£ãã䜿çšãããŠããŸããïŒ
ã¢ã¯ã»ã¹æš©
ã¢ããªã±ãŒã·ã§ã³ã®å¯èœãªã¢ã¯ã·ã§ã³ïŒèš±å¯ïŒã®èŠæ±ã¯ãã¢ããªã±ãŒã·ã§ã³ã«å¯ŸãããŠãŒã¶ãŒã®ä¿¡é Œãé«ããä»ã®ãµãŒãã¹ãšã®ãééçãªãçµ±åã«ãããã®æ©èœãæ¡åŒµããŸãã
- èŠæ±ããããã¹ãŠã®èš±å¯ã¯æ¬åœã«å¿
èŠã§ããïŒ
- èš±å¯ã¯æå³çã«äœ¿çšãããŠããŸããïŒ
- äžè¶³ããŠããæš©éã¯ãããŸããïŒ
- ã¿ãŒã²ããSDKã23ãã倧ããå Žåãäºææ§èš±å¯ã·ã¹ãã ãããå±éºãªèš±å¯ããèŠæ±ãããŠããŸããïŒ
- 䜿çšããéã«èš±å¯ãå¿
èŠã§ããïŒ
- èš±å¯ãå¿ èŠãªçç±ã説æãããŠãŒã¶ãŒãã£ãŒãããã¯ã¯ãããŸããïŒ
ã»ãã¥ãªãã£ã®åé¡
éçºè ãšããŠãã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ãæèããå¿ èŠããããŸãã ãŠãŒã¶ãŒã®ããŒã¿ãæŒæŽ©ããããã»ãã·ã§ã³ãçãŸãããããããšã¯æãŸãããããŸããã
- HTTPã¯ã©ã€ã¢ã³ãã¯HTTPSã䜿çšããããã«æ§æãããŠããŸããïŒ
- HTTPã¯ã©ã€ã¢ã³ãã¯ããã«ãã€ã³èšŒææžïŒèšŒææžã®ãã³çãïŒãšHMACã§ã®èªèšŒã¡ãã»ãŒãžã䜿çšããããã«æ§æãããŠããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯ãŠãŒã¶ãŒã®æ©å¯æ
å ±ãä¿æããŸããïŒ ã©ãïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯ãå
éšã¹ãã¬ãŒãžã·ã¹ãã ã®å€éšã«æ
å ±ãä¿åããŸããïŒ
- ãªãªãŒã¹ã®ãã«ãæã«ã¢ããªã±ãŒã·ã§ã³ã¯ãã°ãèšé²ããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã³ãŒãã¯é£èªåãããŠããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯ãAndroidã³ã³ãã³ããããã€ããŒãã¬ã·ãŒããŒããŸãã¯ãµãŒãã¹ãä»ã®ã¢ããªã±ãŒã·ã§ã³ã«æäŸããŸããïŒ
- ãããã°å¯èœãªãã·ã§ã³ã¯ãªãªãŒã¹ãã«ãã§ç¡å¹ã«ãªã£ãŠããŸããïŒ
ããã·ã¥éç¥
ããã·ã¥ã¯ãã€ã§ããŠãŒã¶ãŒã«éç¥ããããã®åªããã¡ã«ããºã ã§ãããããã¯äžèŠæããããããè€éãªåé¡ã§ãã
- ããã·ã¥éç¥ã·ã¹ãã ã®å®è£
ã«ãµãŒãããŒãã£ã®ã©ã€ãã©ãªã䜿çšãããŠããŸããïŒ
- GCMã·ã¹ãã ã¯ãã¢ããªã±ãŒã·ã§ã³ã«æ
å ±ãäŒããããã«äœ¿çšãããŸããããããšãåã«ãŠãŒã¶ãŒã«ã¡ãã»ãŒãžã衚瀺ããããã«äœ¿çšãããŸããïŒ
- ããã·ã¥éç¥ãåä¿¡ãããšããã¢ããªã±ãŒã·ã§ã³ã¯ã©ã®ããã«åäœããŸããïŒ
- ããã·ã¥éç¥ã«é¢é£ããæ
å ±ãäºæãããã®ã§ã¯ãªãå Žåãã¢ããªã±ãŒã·ã§ã³ã¯ã©ã®ããã«åäœããŸããïŒ
- äºææ§APIã䜿çšããŠéç¥ã衚瀺ãããŸããïŒ
æ§èœ
ããã©ãŒãã³ã¹ã¯éåžžã«éèŠã§ãã é«äŸ¡ãªããã€ã¹ã§é ãã¢ããªã±ãŒã·ã§ã³ã䜿çšããã人ã¯ããŸããã çç£æ§ã¯ãéã§ãã
- ã¢ããªã±ãŒã·ã§ã³ã«ã¡ã¢ãªãªãŒã¯ã¯ãããŸããïŒ
- LeakCanaryãªã©ã®éçºã¢ã»ã³ããªã§ã¡ã¢ãªã¢ãã©ã€ã¶ãŒãæ§æãããŠããŸããïŒ
- éçºãã«ãã§Android Strict Modeãæ¥ç¶ããã³æ§æãããŠããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã§ã¹ããªãŒã ã¯ã©ã®ããã«äœ¿çšãããŸããïŒ éåæã¿ã¹ã¯ãã€ã³ãã³ããµãŒãã¹ããŸãã¯ãã®ä»ã®ãµãŒãããŒãã£ã©ã€ãã©ãªã䜿çšããŠããŸããïŒ
- ããã¯ã°ã©ãŠã³ãã¹ã¬ããã®æ°ã¯ããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ãããŸããïŒ
- ã¹ã±ãžã¥ãŒã©ããªã·ãŒã䜿çšããŸããããããšããªã³ããã³ãã§ã¹ã¬ãããäœæããŸããïŒ
- Android Dozeã¢ãŒãããµããŒãããŠããŸããïŒ
- ãããã¯ãŒã¯ç¶æ
ã«é¢é£ããã€ãã³ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã®ãã®ä»ã®ç¹°ãè¿ãã€ãã³ãã¯èãããŸããïŒ
- ã¡ã€ã³ã¹ã¬ããã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã³ãŒãã«é¢é£ããã¿ã¹ã¯ã«ã®ã¿äœ¿çšãããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãã·ã¥ããªã·ãŒã¯ãããŸããïŒ
- HTTPã¯ã©ã€ã¢ã³ãã¯ã¿ã€ã ã¢ãŠãã䜿çšããããã«æ§æãããŠããŸããïŒ
- HTTPã¯ã©ã€ã¢ã³ãã¯GZIPã䜿çšããããã«æ§æãããŠããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã¯æ¯ç§60ãã¬ãŒã ã§åäœããŸããïŒ
- ã¡ã¢ãªãå€ãããã«ã¹ã¿ã ãã¥ãŒããŸãã¯UIã¹ã¬ããã§ãé«äŸ¡ãªãã¿ã¹ã¯ãå®è¡ããã«ã¹ã¿ã ãã¥ãŒã¯ãããŸããïŒ
- ããŒãšã³ãïŒäœã³ã¹ããéçç£çïŒããã€ã¹ã§ã¢ããªã±ãŒã·ã§ã³ããã¹ãããŠããŸããïŒ
- ã¹ã¯ããŒã«ãããªãµã€ã¯ã©ãã¥ãŒã¯ãæžéãããŠããŸããïŒ
- ç»åã®ããŠã³ããŒãã«äœ¿çšããããµãŒãããŒãã£ã®ã©ã€ãã©ãªã¯ãããŸããããããšãç¬èªã®ãœãªã¥ãŒã·ã§ã³ããããŸããïŒ
- ç»åã¯ç»é¢ã«åãããŠæ¡å€§çž®å°ãããŠããŸããããããšãç¹å®ã®ããã€ã¹ç»é¢ã«ããã«èªã¿èŸŒãŸããŸããïŒ
- ã¡ã¢ãªã¯è³¢æã§ããïŒ
- ãéçã修食åã¯Javaã§æ£ãã䜿çšãããŠããŸããïŒ
- ãã¹ãŠã®ç»ååŠçã¿ã¹ã¯ã¯ãäžåºŠã«è€æ°ã®ç»åãåŠçã§ããŸããïŒ
- çµ±èšã·ã¹ãã ã¯ããã¯ã°ã©ãŠã³ãã¹ã¬ããã§åäœããæ£ããåªå
床ã§æ§æãããŠããŸããïŒ
- ãªãªãŒã¹ãã«ãã§ã³ãŒãã¯æé©åãããŠããŸããïŒ
Javaããã±ãŒãžã®æ§é
åªããããã±ãŒãžæ§é ã¯ãã³ãŒããããã¹ã±ãŒã©ãã«ã«ããŸãã
- ããã±ãŒãžã¯ãæ©èœïŒæ©èœïŒãŸãã¯æŠå¿µïŒãã°ã€ã³ãšãŠãŒã¶ãŒãªã©ïŒã«ãã£ãŠã³ãŒããåé¢ããããã«äœ¿çšãããŠããŸããïŒ
- ããã±ãŒãžå
ã®å®è£
ã®è©³çŽ°ãé ãããã«Javaå¯èŠæ§ä¿®é£Ÿåã䜿çšãããŠããŸããïŒ
- ãã¹ãŠã®ããã±ãŒãžã¯ã«ãŒãããã±ãŒãžããåºãŠããŸããïŒ
- ãã¹ããã£ã¬ã¯ããªã¯ãœãŒã¹ãã©ã«ãã®æ§é ãç¹°ãè¿ããŠããŸããïŒ
- åãããã±ãŒãžæ§é ã䜿çšããŠç°ãªãæ©èœãç·šæãããŠããŸããïŒ
- ã¯ã©ã¹ã¯æ£ããããã±ãŒãžã«ãããŸããïŒ
- ããã±ãŒãžã®çµ±äžèŠåã¯å°éãããŸããïŒ
- ã«ãŒãããã±ãŒãžã®ååã¯äŒç€Ÿåã«é¢é£ä»ããããŠããŸããïŒ
ã³ãŒãã¹ã¿ã€ã«
ã¹ã¿ã€ã«ã«é¢ããŠäžè²«ããã³ãŒãããŒã¹ã¯ããšã³ãžãã¢ãã³ãŒããèªã¿ãããããã®ã«åœ¹ç«ã¡ãŸãã ãšã³ãžãã¢ã¯èªåãæžãããããã¯ããã«å€ãã®ã³ãŒããèªã¿åããããããã¯éèŠãªæŠå¿µã§ãã
- ã³ãŒãã¹ã¿ã€ã«ã¯åäžã§ããïŒ
- ãã³ã¬ãªãŒèšæ³ã䜿çšããŠããŸããïŒ
- CheckstyleããŒã«ã¯ãããŸããïŒ æ§æãããŠæ©èœããŠããŸããïŒ
- Javaã³ãŒãã¯ã³ãŒãã¹ã¿ã€ã«ãšäžèŽããŸããïŒ
- ã¿ããŸãã¯ã¹ããŒã¹ã䜿çšããŸããïŒ
- ã¯ã©ã¹ã®ååã¯æ£ããã§ããïŒ
- ã€ã³ã¿ãŒãã§ã€ã¹ãã¬ãã£ãã¯ã¹ãšããŠãIãã䜿çšããŸããããŸãã¯å®è£
ãµãã£ãã¯ã¹ãšããŠãImplãã䜿çšããŸããïŒ
- æ£ããå€æ°åã䜿çšããŠããŸããïŒ
- ãã£ãŒã«ãã«æ£ããååã䜿çšããŠããŸããïŒ
- ã¡ãœããã«æ£ããååã䜿çšããŠããŸããïŒ
- ã¡ãœããå±æ§ãšå¯èŠæ§ä¿®é£Ÿåã¯é©åã«äœ¿çšãããŠããŸããïŒ
- ã³ãŒãã¯è±èªã§æžãããŠããŸããïŒ
- Javadocã䜿çšããŠããŸããïŒ
- ã³ãŒãã³ã¡ã³ããæžããŠããŸããïŒ
- ãªãã©ã«ã®éè€ãé¿ããããã«å®æ°ãŸãã¯åæã䜿çšããŸããïŒ
ãªãã©ã€ã³å®è£
åªãããªãã©ã€ã³ããã©ãŒãã³ã¹ãä¿èšŒããããšã¯ãã¢ããªã±ãŒã·ã§ã³ã®ç¹åŸŽã§ãã
- ã€ã³ã¿ãŒãããæ¥ç¶ããªããšãã«ã¢ããªã±ãŒã·ã§ã³ã䜿çšã§ããŸããïŒ
- äœéãããã¯ãŒã¯æ¥ç¶äžã®ã¢ããªã±ãŒã·ã§ã³ã®åäœã¯äœã§ããïŒ
- ãããã¯ãŒã¯é害ã®ããã«èŠæ±ã倱ãããå Žåã®ã¢ããªã±ãŒã·ã§ã³ã®åäœã¯äœã§ããïŒ
- æ¥ç¶ã埩å
ãããåŸãã¢ããªã±ãŒã·ã§ã³ããŒã¿ã®å€æŽã¯ããã¯ãšã³ããšåæãããŸããïŒ
- ãããã¯ãŒã¯æ¥ç¶ã®ã¿ã€ã ã¢ãŠãã¯èšå®ãããŠããŸããïŒ
- HTTPãã£ãã·ã¥ããªã·ãŒã¯èšå®ãããŠããŸããïŒ
- ãŠãŒã¶ãŒã»ãã·ã§ã³ã¯èªåçã«åŸ©å ãããŸããïŒ
建ç¯
ã³ãŒãã®èŠ³ç¹ããèŠããšãã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ã¯ç£æ»ã®äžéšã§ãããã¢ããªã±ãŒã·ã§ã³ã®ç解ãæ·±ããŸãã ã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ã®ã¬ãã¥ãŒã§ã¯ãSOLIDããã³Clean Codeã®ååã«é¢é£ããæŠå¿µã«çŠç¹ãåœãŠãŸãã
ãã¬ãŒã³ããŒã·ã§ã³å±€ã®å®è£
- GUIïŒã°ã©ãã£ã«ã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ïŒã®å®è£
ã«é¢é£ãããã¿ãŒã³ã¯ãããŸããïŒ ã¢ãã«ãã¥ãŒãã¬ãŒã³ã¿ãŒãŸãã¯ã¢ãã«ãã¥ãŒViewModelã¯ãæããã䜿çšããã2ã€ã®ã¢ããªã±ãŒã·ã§ã³éçºãã³ãã¬ãŒãã§ãã ãããã¯æ£ããå®è£
ãããŠããŸããïŒ
- ãã¬ãŒã³ããŒã·ã§ã³å±€ã®å®è£
ã¯ããã¥ãŒã®å®è£
ã«é¢é£ããŠããŸããïŒ
- ãã¥ãŒã®å®è£
ã¯ã¢ãã«ã®å®è£
ã«é¢é£ããŠããŸããïŒ
- ãã¬ãŒã³ããŒã·ã§ã³å±€ã«ã¯ããžãã¹ããžãã¯ãå«ãŸããŠããŸããïŒ
- ãã¥ãŒã®å®è£
ã¯Android SDKããŒã«ãæ£ãã䜿çšããŠããŸããïŒ
- ãã¥ãŒã®å®è£
ãç°¡çŽ åããããã«ããµãŒãããŒãã£ã®ã©ã€ãã©ãªã䜿çšããŠããŸããïŒ
- ç°ãªãæ©èœã®å®è£
ã¯ãåå¥ã®ã¢ã¯ãã£ããã£ãŸãã¯ãã©ã°ã¡ã³ãã§åå²ãããŠããŸããïŒ
- ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®åäœã¯åäžã§ããïŒ
- ã«ã¹ã¿ã ãã¥ãŒã䜿çšããŠãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã³ãŒããåå©çšããŸããïŒ
ãã¡ã€ã³å®è£
- å¥ã®ãã¡ã€ã³å±€ããããŸããããŸãã¯ããžãã¹ããžãã¯å
šäœããã¬ãŒã³ããŒã·ã§ã³å±€ã«å®è£
ãããŠããŸããïŒ
- ãã¡ã€ã³ã«ãŒã«ãšããŸããŸãªã¢ããªã±ãŒã·ã§ã³èŠä»¶ã¯ãããžãã¹ããžãã¯ã®ã¡ã€ã³ãªããžã§ã¯ãã§è¡šçŸãããŠããŸããïŒ
- ãã¡ã€ã³å±€ã¯ãOOPååã䜿çšããŠå®è£
ãããŠããŸããïŒ
- ãã¡ã€ã³ã¬ã€ã€ãŒã¯Android SDKãŸãã¯ãµãŒãããŒãã£ã©ã€ãã©ãªã«é¢é£ä»ããããŠããŸããïŒ
- ãã¡ã€ã³å±€ã¯ãã¬ãŒã³ããŒã·ã§ã³å±€ã«æ¥ç¶ãããŠããŸããïŒ
- ãã¡ã€ã³ã¢ãã«ã¯ã貧è¡ãã§ããïŒ
- ã·ãã¯ãã¡ã€ã³ã¢ãã«ã䜿çšããŠããŸããïŒ
- ã³ãŒãã¯ççµåã«åºã¥ããŠãããåæã«çžäºã«ããŸãããåãããã³ã³ããŒãã³ãã«åºã¥ããŠããŸããïŒ
- ãšã©ãŒåŠçã¯ãäŸå€ãŸãã¯ãã®ä»ã®ãšã©ãŒåŠçã¡ã«ããºã ã䜿çšããŠå®è£
ãããŠããŸããïŒ
- ããŒã¿ã¯ç°ãªãã¬ã€ã€ãŒéã§ãããã³ã°ãããŠããŸããïŒ
- å€éšã³ã³ããŒãã³ãã®ã¢ãŒããã¯ãã£ïŒããŒã¿ããŒã¹ã¹ããŒããJSON解æãªã©ïŒã¯ããã¡ã€ã³ã¢ãã«ã®ã¢ãŒããã¯ãã£ã«åœ±é¿ããŸããïŒ
- éçºè
ã¯ç¶æ¿ãæªçšããŸããïŒ
- ã³ãŒããéè€ããŠããŸããïŒ
- äŸåé¢ä¿æ³šå
¥ã©ã€ãã©ãªãŸãã¯æ§ææžã¿ã®ãµãŒãã¹ãã±ãŒã¿ãŒã¯ãããŸããïŒ
- ã¯ã©ã¹ãšã¡ãœããã®è€éãã¯é«ãããŸããïŒ
APIã®å®è£
- APIã®å®è£
ã¯Android SDKã«é¢é£ä»ããããŠããŸããïŒ
- ãããã¯ãŒã¯å±€ã®å®è£
ã«äœ¿çšãããHTTPã¯ã©ã€ã¢ã³ããŸãã¯ã©ã€ãã©ãªãåå ã§ãå®è£
ã®è©³çŽ°ã®APIãä»ããããªãŒã¯ãã¯ãããŸããïŒ
- APIã¯ã©ã€ã¢ã³ãã¯æ£ããããããŒãéä¿¡ããŸããïŒ
- ããŸããŸãªHTTPå¿çã«å¯Ÿããã¯ã©ã€ã¢ã³ãAPIã®åäœã¯äœã§ããïŒ
- ã¯ã©ã€ã¢ã³ãAPIã¯èªèšŒã¡ã«ããºã ãå®è£
ããŠããŸããïŒ
- ã»ãã·ã§ã³åéããã»ã¹ã¯æ£ããå®è£
ãããŠããŸããïŒ
- JSONé£èªåã®ãµããŒãã¯ãããŸããïŒ
- APIã®å®è£ ã¯ç°ãªãã¯ã©ã€ã¢ã³ãéã§å ±æãããŠããŸããïŒ
ã¹ãã¬ãŒãžå®è£
- æ
å ±ã¯ã©ãã«ä¿åãããŸããïŒ
- ãªããžããªãžã®æ
å ±ã®èªã¿æžãã«ãã©ã³ã¶ã¯ã·ã§ã³ã䜿çšãããŠããŸããïŒ
- ãŠãŒã¶ãŒã®æ©å¯æ
å ±ã®ä¿ç®¡ã¯å®å
šã§ããïŒ
- ã¹ãã¬ãŒãžã¬ã€ã€ãŒã¯ãµãŒãããŒãã£ã®ã©ã€ãã©ãªã䜿çšããŠããŸããïŒ
- å®è£
ã®è©³çŽ°ã¯ãã¹ãã¬ãŒãžã¬ã€ã€ãŒãéããŠãæŒãããŸããïŒ
- ããŒãã«/ã¹ããŒãã¯æ£ããèšèšãããŠããŸããïŒ
- ã¹ãã¬ãŒãžãžã®ãªã¯ãšã¹ãã¯æé©åãããŠããŸããïŒ
- ããŒã¿ãé©åãªå Žæã«ä¿åããããã«Android SDK APIã䜿çšãããŠããŸããïŒ ããŒã¿ã¯ããŒã¿ããŒã¹ã«ä¿åãããèšå®ãšå°ããªããŒã¿ã¯å ±æèšå®ãšãã£ã¹ã¯äžã®ãã¡ã€ã«ã«ä¿åãããŸããïŒ
ãã¹ã¿ããªãã£
- ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãã¹ãããããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯ãã¹ãå¯èœã§ããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯ããŸããŸãªã¿ã€ãã®ïŒãŠããã/çµ±å/ãšã³ãããŒãšã³ãïŒãã¹ãã䜿çšããŠããŸããïŒ
- ãã¹ãã®ååã¯æ£ããã§ããïŒ
- ãã¹ãã¯ãããžã§ã¯ããã«ããŒããã®ã«ååã§ããïŒ
- ãã¹ãã«éå°ãªä»æ§ããããŸããïŒ
- ãªãŒãã¿ã€ã ã¯åŠ¥åœã§ããïŒ
- ã³ãŒãã«ãã¬ããžãäœãããŸããïŒ
- ç¡èŠããããã¹ãã¯ãããŸããïŒ
- äžå®å®ãªãã¹ãïŒäžå®å®ãªãã¹ãïŒã¯ãããŸããïŒ
- ãã¹ãã«ææ°ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããŸããïŒ
- ã¢ãµãŒããªãã®ãã¹ãã¯ãããŸããïŒ
- ãã¹ããšçç£ã³ãŒãã¯åãéçºè
ã«ãã£ãŠæžãããŠããŸããïŒ
- QAããŒã ã¯ãããŸããïŒ
- ãã¹ãã®äžéšãèªååããQAããŒã ã¯ãããŸããïŒ
- ç¶ç¶çãªçµ±åã·ã¹ãã ã¯ãããŸããïŒ
- builders, factories mothers, , ?
- (assertions) ?
- ?
- , ?
- ?
- - monkeyrunner?
- - TDD BDD ?
- Java, (test cases)?
ããŸããŸãªæè¡åéã«é¢é£ãããã®ãªã¹ãã«åºã¥ããŠãã¢ããªã±ãŒã·ã§ã³ã®å質ãè©äŸ¡ã§ããŸããä»ã«ãèæ ®ãã¹ãç¹ããããŸããããã®ãªã¹ãã«ã¯æãéèŠãªç¹ãå«ãŸããŠããŸããã¢ããªã±ãŒã·ã§ã³ã«é¢ããããããã¹ãŠã®è³ªåã«æ£ããçããæäŸã§ããŸããïŒ
æçš¿è ïŒãããã»ãã»ã³ãã»ãŽã¡ã¹ã»ãµã³ãã§ã¹ã
翻蚳ãæäŒã£ãŠãããŠããããšã
ç§ã¯ããã®ç¿»èš³ãæãããçŽæãšãªã人ã
ãèšåããã«ã¯ããããŸããã
翻蚳ã®å©ããšãã³ãããŒãã»ã€ããã¶ãªã¹ãããã¹ããŒã»ããŒãã³ïŒ@firstoïŒããã¬ã¶ãšãã»ããã·ã ïŒ@ itsme_42ïŒãžã®ææ ®æ·±ãæ ¡æ£ã«æè¬ããŸãã
ãªãªãžãã«ã®èšäºKochkina Yanaã«ã¯ãªãã£ãäž¡æ¹ã®KDPVã«æè¬ããŸãã
翻蚳ã®å©ããšãã³ãããŒãã»ã€ããã¶ãªã¹ãããã¹ããŒã»ããŒãã³ïŒ@firstoïŒããã¬ã¶ãšãã»ããã·ã ïŒ@ itsme_42ïŒãžã®ææ ®æ·±ãæ ¡æ£ã«æè¬ããŸãã
ãªãªãžãã«ã®èšäºKochkina Yanaã«ã¯ãªãã£ãäž¡æ¹ã®KDPVã«æè¬ããŸãã
代æ¿CAP
, JakeWharton .
, ActionBarSherlock , .

, ActionBarSherlock , .