以åã®æçš¿ã§çŽæããããã«ãä»å¹Žã®ãã©ãããã©ãŒã ã®éçºèšç»ãçºè¡šã§ããŠããããã§ãã ããã¯æŠç¥çãªèšç»ã§ããã倧ããªå€æŽã®ã¿ãå«ãŸããŠããŸãããäœçŸãã®å°ããªæ¹åã確å®ã«è¡ãããŸãã
å 責äºé ïŒãã®èšç»ã¯å®èª¬ã§ã¯ãªãããããããããè¶ ããŠäœããå®è£ ããŸãããéã«å»¶æããŸãã ãã ããäžè¬çã«ã¯ããã®èšç»ãé å®ããäºå®ã§ãããCUBAãã©ãããã©ãŒã éçºè ã³ãã¥ããã£ãããã«çŠç¹ãåœãŠãããšããå§ãããŸãã
ãã£ãŒã¶ãŒïŒCUBA Studioã¯IntelliJ IDEAã«çµ±åãããŸãïŒ
ãããè¡ããïŒ
第1ååæ
ååæã®ã»ãšãã©ã¯ãã§ã«éããŠããã®ã§ãæ¯ãè¿ã£ãŠã¿ãŸããããElectronãããŒã¹ã«ããStudio Standalone EditionãšRelease 6.8ããªãªãŒã¹ããŸããã
æ®ãã®1ãæã¯ããŠã§ããµã€ãã§ããŒã±ãããã¬ã€ã¹ãéå§ããŸãã ããã¯ãç§ãã¡ãšã³ãã¥ããã£ã®ä»ã®ã¡ã³ããŒã®äž¡æ¹ã«ãã£ãŠæžãããã¢ããªã³ã®äº€æã®ããã®å ¬éã»ã¯ã·ã§ã³ã«ãªããŸãã ãã®éèŠãªã€ãã³ãã¯ãéçºè ãæå°éã®åŽåã§ã¢ããªã±ãŒã·ã§ã³ã®æ©èœãæ§ç¯ã§ããããã«ãããCUBAãã©ãããã©ãŒã ã«é¢ããæ°ãããšã³ã·ã¹ãã ã®å§ãŸãã瀺ããŠããŸãã
æè¡çã«ã¯ãã»ãšãã©ã®ã¢ããªã³ã¯ã¢ããªã±ãŒã·ã§ã³ã³ã³ããŒãã³ããšããŠå©çšã§ããããããããããããžã§ã¯ãã«è¿œå ããã«ã¯ãStudioã§Mavenã®åº§æšãã³ããŒããŠè²Œãä»ããã ãã§ååã§ãã
å§ããããã«ãGitHubã§çŸåšå©çšå¯èœãªæ¢ã«ãªãªãŒã¹ãããã¢ããªã³ããŸãšããŸãã
- ãã©ãã°ã¢ã³ããããã -CUBAãŠãããŒãµã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã§ã®ãã©ãã°ã¢ã³ãããããã®ãµããŒãã
- JavaMelody-äžè¬çãªç£èŠããŒã«ãšã®çµ±åã
- ZooKeeper-äžéå±€ãµãŒããŒã®åçæ€åºã
- ãã€ãèªãã¹ãã€ã³èªããã³ããŒã¯èªããªã©ã³ãèªããã«ãã¬ã«èªãç°¡äœåäžåœèªãã«ãŒããã¢èªã®ããŒã«ã©ã€ãº ã
ãŸããã³ãã¥ããã£ã®äžéšã®ã¡ã³ããŒãã³ã³ããŒãã³ããå ¬éããæºåãã§ããŠããããšãããã£ãŠããããããªã¹ãã倧ãããªããŸãã
第2ååæ
Studioã¯æ¬¡ã®æ¹åãåŸ ã£ãŠããŸãã
- SEããŒãžã§ã³ã§ã®ãã«ããŠã£ã³ããŠã¢ãŒãã®ãµããŒãã
- Studioã§ã®ãèããã³ã³ããŒãã³ãã®ãµããŒãïŒããšãã°ãCoreãŸãã¯Webã¢ãžã¥ãŒã«ãªãïŒã
æ°ããã¢ããªã³ãå ¬éãããŸãïŒ
- WebDAV-ããã¥ã¡ã³ãã®ãªã¢ãŒãäœæ¥ã®ããã®WebDAVãããã³ã«ã®ãµããŒãã
- LDAP-LDAPãšã®é«åºŠãªçµ±åã
- IMAPã¯ãIMAPãããã³ã«ãä»ããŠæåãèªã¿åãã衚瀺ããããã®ã¢ããªã³ã§ããããã®ã€ãã³ãã¯ã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ããžãã¯ã§ã€ã³ã¿ãŒã»ããã§ããŸãã
- ãªããæ€çŽ¢-ã¡ãã¥ãŒé ç®ããã³ç»é¢ã§ã®é«åºŠãªå šææ€çŽ¢ã
ããªããŒUI
- TypeScriptã®ãµããŒãã
第3ååæ
äž»èŠãªå€æŽã¯ãPlatformããã³Studio 7ã®ããŒã¿çã§æ瀺ãããŸãã
ãã©ãããã©ãŒã 7ããŒã¿
äž»ãªéç¹ã¯ãã¹ã¿ãã¯ã®æŽæ°ã§ããVaadin8ã«åãæ¿ããJava 9ãšã®ãã©ãããã©ãŒã ã®äºææ§ãå®è£ ããŸãã
æ¢ã«å®è¡äžã®ãšã³ã¿ãŒãã©ã€ãºã¢ããªã±ãŒã·ã§ã³ã§ã¹ã¿ãã¯ãæŽæ°ããã®ãã©ãã»ã©é¢åãªããšããç§ãã¡ã¯çç¥ã£ãŠããŸãã CUBAã§ã¯ãã¢ããã°ã¬ãŒãã«é¢é£ãã倧éšåã®äœæ¥ãè¡ããŸãã ãã¡ããããã©ãããã©ãŒã ã®æ°ããã¡ãžã£ãŒããŒãžã§ã³ãžã®ç§»è¡ãå®å
šã«ã·ãŒã ã¬ã¹ã«ããããšã¯ã§ããŸãããããã¯ãããžãŒã¹ã¿ãã¯å
šäœãæåã§æŽæ°ãããããã¯ããã«ç°¡åã§ãã
ãã1ã€ã®éèŠãªå€æŽç¹ã¯ãUIã®æ°ããAPIãšããŒã¿ã¬ã€ã€ãŒã®åºçŸã§ãã CUBAãã©ãããã©ãŒã ã¯ãã€ãã³ãé§ååã¢ãŒããã¯ãã£ãžã®ãã¬ã³ããåãå
¥ããŠããŸããã€ãã³ããåŠçããããã®æ³šéä»ãã¡ãœãããåããæ°ãã軜éã¹ã¯ãªãŒã³ã³ã³ãããŒã©ãŒã«ãããã³ãŒããããã¯ãªãŒã³ã«ãªãããã¹ãã«äŸ¿å©ã«ãªããŸãã ãŸããç»é¢ãéãããã®åä»ãAPIã«ãããåãã£ã¹ãã®å¿
èŠããªããªããŸãã
æ°ãããã¬ãŒã³ããŒã·ã§ã³ããŒã¿ã¬ã€ã€ãŒã¯ãããŒã¿ãœãŒã¹ã¡ã«ããºã ã眮ãæããŸãã ããã«ãããäžéæãªAPIã衚瀺ç»é¢ãšç·šéç»é¢éã®å¶éãããçžäºäœçšãªã©ãçŸåšã®å€ãã®åé¡ã解決ãããã¯ãã§ãã
ãã®ä»ã®éèŠãªå€æŽïŒ
- Websocketã«åºã¥ãã¬ã€ã€ãŒéã®éä¿¡ã
- ãã©ãŠã¶ãŒå±¥æŽã®ãµããŒãã
- è€åã³ã³ããŒãã³ãã®ç°¡åãªäœæãã€ãŸã ä»ã®ã³ã³ããŒãã³ãã«åºã¥ãã³ã³ããŒãã³ãã
Polymer UIã®èŠ³ç¹ããïŒ
- Polymer 3ãžã®ã¢ããã°ã¬ãŒã
- CUBAã»ãã¥ãªãã£ãµãã·ã¹ãã ã®ãµããŒãã®æ¹åã
- paper- * elementsã®ä»£ããã«vaadin-elementsãžã®ç§»è¡ïŒè¿œå ãªãã·ã§ã³ãšããŠã®ææèšèšïŒ
Studio 7 Beta
æãèå³æ·±ããã®ã«æž¡ããŸãã ããŒãžã§ã³7以éãStudioã¯ãã©ã°ã€ã³ãšããŠç¡æã®IntelliJ IDEA Community Editionã«çµ±åãããŸãïŒ WYSIWYGãšãã£ã¿ãŒãå«ãæ¢åã®æ©èœã¯ãã¹ãŠä¿æãããŸããããœãŒã¹ã³ãŒããå®å
šã«æäœããæ©èœãè¿œå ãããŸãã
ããã¯ããªãæ¥é²çãªã¹ãããã§ããããšãç解ããŠããŸãããããã§ãå¿
èŠã§ãããšããçµè«ã«éããŸããã ãŸãããããã®å€æŽã«ãããStudioã®äœ¿ãããããåçã«åäžããŸãã éçºè
ã¯ãStudioããIDEã«ããŸãã¯ãã®éã«ãžã£ã³ãããå¿
èŠããªããªããŸãã
第äºã«ãIntelliJãœãŒã¹ã³ãŒãããŒã«ã¯ãã³ãŒãçæãå«ããã©ãããã©ãŒã åºæã®ã¿ã¹ã¯ãèªååãã絶奜ã®æ©äŒãæäŸããŸãã äŸãšããŠãå°æ¥çã«ã¯Kotlinã®å®å
šãªãµããŒããå®è£
ã§ããããã«ãªããŸãã
ããã«ãIntelliJ IDEAã¯çŸåšãäžçã§æã人æ°ã®ããJava IDEã§ãããç§ãã¡ã®æèŠã§ã¯æé«ã§ãã Eclipseã2017幎ã«åžå Žã·ã§ã¢ã®ããã«8ïŒ
ã倱ã£ããšããäºå®ã¯ããã®ä¿¡å¿µãè£åŒ·ããã ãã§ãã
æåŸã«ãIntelliJ Community Editionã¯ç¡æã§ããããããã®å€æŽã¯StudioãŠãŒã¶ãŒã«çµæžçãªåœ±é¿ãäžããŸããã å€ãã®EclipseãŠãŒã¶ãŒã«ãšã£ãŠIDEã®å€æŽãç°¡åã§ãããæ°ããStudioã ãã§ãªãããã«å€ãã®å©ç¹ãããããããšãé¡ã£ãŠããŸãã ãããŠãIDEã«å¿ å®ã§ããç¶ãã人ã
ã®ããã«ãCLIãå©ãã«ãªããŸãïŒä»¥äžãåç
§ïŒã
å€ãã®éçºè
ãCUBA StudioãæããŠããã®ã§ãç°¡åã«å§ããããšãã§ããŸãã ããã§ã¯åŠ¥åãæ±ããŸãããCUBAStudioãã©ã°ã€ã³ãšã¹ã¿ãŒãã¢ããã¢ã·ã¹ã¿ã³ãã䜿çšããŠãIntelliJã®å¥ããŒãžã§ã³ãäœæããŸãã ãã®ããŒãžã§ã³ã¯ãStudioãšåãæ¹æ³ã§ãµã€ãããããŠã³ããŒãã§ããŸãã
CLIã䜿çšããéçº
ãåç¥ã®ããã«ãCUBAãã©ãããã©ãŒã ã¯ãªãŒãã³ãœãŒã¹ãã¬ãŒã ã¯ãŒã¯ã§ãããCUBA Studioã¯åçšãµãã¹ã¯ãªãã·ã§ã³ããŒã«ã§ãã CUBAã§ç¡æã§ãããžã§ã¯ããäœæããå Žåã¯ãCUBA Studioã®ç¡æçã§æ°ãããããžã§ã¯ãã®éçºãéå§ãã10ãšã³ãã£ãã£ã®å¶éã«éããããIDEã«å®å šã«ç§»åããããšããå§ãããŸãã
å®éã«ã¯ããã®ã¢ãããŒãã¯éåžžã«äŸ¿å©ã§ããã100ïŒ ãªãŒãã³ãœãŒã¹ãšã¯èšããŸããã GitHubãããã¬ãŒã ã¯ãŒã¯ãããŠã³ããŒãããŠããã®äžã§æ°ãããããžã§ã¯ããéå§ããã ãã§ã¯ãæãç°¡åãªäœæ¥ã§ã¯ãããŸããã
ãããåé¿ããããã«ãCLIïŒã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ïŒãåããããªãŒãã³ãœãŒã¹ã®è»œéã§IDEã«äŸåããªãããŒã«ãäœæããŸãã ãã®ããŒã«ã䜿çšãããšããããžã§ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ããšã³ãã£ãã£ãCRUDç»é¢ãªã©ããã°ããçæããããç¬èªã®ããŒã ãäœæããŠåã蟌ãããšãã§ããŸãã
ãã®ãããéçºè ã«ä»¥äžãéžæããæ©äŒãæäŸããŸãã
- ç¡æã§ãå®å šã«ãªãŒãã³ãªãIDEã«äŸåããªããã©ãããã©ãŒã + CLIãäžæ¹ã§
- IntelliJ IDEAã«çµ±åãããStudioã§ã®ããžã¥ã¢ã«éçºã®å©äŸ¿æ§ãšé床-ããäžæ¹ã
æ°ããã¢ããªã³
- ããã·ã¥ããŒã-ã«ã¹ã¿ã ãŠã£ãžã§ããã衚瀺ããããã®åçãªãã¬ãŒã ã
- 管çããŒã«-CUBAã¢ããªã±ãŒã·ã§ã³ãå±éã管çããããã°ããããã®ããŒã«ã®ã»ããã
- ããŒã¿ã®ã€ã³ããŒã-ãããã³ã°ãæ§æããæ©èœãæã€ããŸããŸãªãœãŒã¹ããã®ããŒã¿ã®ã€ã³ããŒãã®ãµããŒãã
- ãããªãã¯ç»é²-ãœãŒã·ã£ã«ãããã¯ãŒã¯ã¢ã«ãŠã³ããä»ããŠã¢ããªã±ãŒã·ã§ã³ã«å ¥ãããšãã§ããã³ã³ããŒãã³ãã
第4ååæ
Platformããã³Studio 7ã®æçµãªãªãŒã¹ããªãªãŒã¹ãããŸãã
JavaScriptãã¬ãŒã ã¯ãŒã¯ã®å»ã ãšå€åããäžçã§ã¯ããã®ãã¡ã®1ã€ã ãã«è³ããããšã¯è¿èŠçŒçã§ãã ãããã£ãŠãWebããŒã¿ã«ããŒã ã¯ãReactãAngularãªã©ã®ä»£æ¿ããã³ããšã³ãã¯ã©ã€ã¢ã³ãããŠãããŒãµã«ã«ãŒãã«äžã§ãµããŒãããããšãèšç»ããŠãããããã³ããšã³ããèªåã§éžæã§ããŸãã
ç¹°ãè¿ããŸãããStudioãšCLIã®å Žåã®ããã«ãéçºè ã«ã¯æ¬¡ã®éžæè¢ããããŸãã
- æšæºã®UIããžãã¹ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®VaadinããŒã¹ã®æéã®éçºã¯ã©ã€ã¢ã³ãã
- 奜ã¿ã«å¿ããæè¡ã«åºã¥ããŠãUIã¿ã¹ã¯ã解決ããããã®ä»£æ¿ã¯ã©ã€ã¢ã³ãã
ããã2ã€ã®ã¢ãããŒãã1ã€ã®ã¢ããªã±ãŒã·ã§ã³ã§å¹æçã«çµã¿åãããŠãããšãã°ãäœã§ããããªãã¯ããŒã¿ã«ãæ§ç¯ããæšæºã®Vaadin UIã«åºã¥ãã管çããã«ãã§ããã ãæ©ãè¿œå ã§ããŸãã ããã¯ã www.cuba-platform.comã§ã¹ãã¢ããã³å人 ã¢ã«ãŠã³ããäœæãããšãã«è¡ã£ããšããã§ãã
æ°ããã¢ããªã³
ããã§ã®äž»ãªå€æŽç¹ã¯ãæ°ããBPMã§ãã ã€ãŸããCUBAãšBPMãšã³ãžã³ã®å®å šãªçµ±åãå®è£ ããŠãã»ãšãã©ã®ã¿ã¹ã¯ã§ã³ãŒãã®èšè¿°ããŸã£ããå¿ èŠãšããªãããæå°éã«æããå¿ èŠããããŸãã ããã«ã¯ãCUBAããŒã¿ã¢ãã«ããã®UIããµãŒãã¹ãããã³ã»ãã¥ãªãã£ãµãã·ã¹ãã ãšã®çµ±åãå¿ èŠã§ãã
- ç¬èªã®ã¹ãã³ã·ã«ããã°ããäœæã§ããç¬èªã®ã¹ãã³ã·ã«ã
- ããã»ã¹ãã©ãŒã ãèŠèŠçã«äœæããæ©èœã
- CUBAãµãŒãã¹ãåŒã³åºããŸãã
- CUBAãšã³ãã£ãã£ãšãã®å±æ§ãããã»ã¹å€æ°ã«ãã€ã³ããã
- ããã»ã¹å€æ°ãCUBAãŠã£ã³ããŠããã³ãµãŒãã¹ãã©ã¡ãŒã¿ãŒã«ãã€ã³ãããŸãã
- å®è¡äžã®ããã»ã¹ãèšé²ããã³ç®¡çãããŠãŒã¶ãŒãžã®å²ãåœãŠããããã³ã°ããããã®CUBA UI
ãªã©ãªã©ïŒ
ä»ã®ã¢ããªã³ããªãªãŒã¹ãããŸãïŒ
- ã¡ãã»ã³ãžã£ãŒ-WhatsAppãViberãSlackãªã©ã®äžè¬çãªã€ã³ã¹ã¿ã³ãã¡ãã»ã³ãžã£ãŒãä»ããã¡ãã»ãŒãžã³ã°ã®ãµããŒãã
- ãã«ãããã³ã·ãŒ-ãã«ããŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ã®éçºãç°¡çŽ åããã¢ããªã³ã
- ããŒã¿ãã©ãã-ãã©ãŠã¶ãŒãŠã£ã³ããŠã誀ã£ãŠéãããããšãããŸãã¯WebãµãŒããŒãã¯ã©ãã·ã¥ãããšãã®å ¥åããŒã¿ã®åŸ©å ã
ãããã«
ä»å¹Žã¯ãã¹ã¿ãã¯ã®æŽæ°ããã¬ãŒã ã¯ãŒã¯ã§ã®äœæ¥ã®ç°¡çŽ åãéçºè
ã®å©äŸ¿æ§ã®ããã®æ°ããããŒã«-StudioãšCLIãã¢ããªã³ã®ãšã³ã·ã¹ãã ã«ãããã©ãããã©ãŒã æ©èœã®å°è±¡çãªæ¡åŒµãªã©ãå€ãã®ç©æ¥µçãªå€æŽãèšç»ããŸããã
ã³ãã¥ããã£ã®ã¡ã³ããŒãæåŸ
ããŠããã©ãããã©ãŒã ã³ãŒããžã®ãã«ãªã¯ãšã¹ããšããŒã±ãããã¬ã€ã¹ãžã®ã¢ããªã³ã®è¿œå ã®äž¡æ¹ã§ããã®ãã¹ã«æ²¿ã£ãŠæ¯æŽããŠãã ããã