ããŒã¿ ã¢ã¯ã»ã¹ ãªããžã§ã¯ã (DAO) ã¯ããœãããŠã§ã¢ ã¢ãŒããã¯ãã£ããã³ãã¿ãŒã³ã®é åã§åºãæ¡çšãããŠããèšèšãã¿ãŒã³ã§ãããç¹ã«ããŒã¿ ã¢ã¯ã»ã¹ããã³æäœããã»ã¹ã®æœè±¡åãšã«ãã»ã«åã容æã«ããããšãç®çãšããŠããŸãããªããžã§ã¯ãæåããã°ã©ãã³ã°ã®ã³ã³ããã¹ãã§äœ¿çšããã DAO ãã¿ãŒã³ã®äž»ãªç®çã¯ãåºç€ãšãªãããŒã¿ ã¹ãã¬ãŒãž ã¡ã«ããºã ãåé¢ãããããããé«ã¬ãã«ã®ãªããžã§ã¯ãæå衚çŸã«ãããã³ã°ããããšã§ãããŒã¿ ã¢ã¯ã»ã¹ ããžãã¯ãããžãã¹ ããžãã¯ããåé¢ããããšã§ãã
éåžžãDAO ã¯ãåºç€ãšãªãããŒã¿ ãœãŒã¹ (ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãXML ãã¡ã€ã«ããã®ä»ã®ã¹ãã¬ãŒãž ã·ã¹ãã ãªã©) ãšãã·ã¹ãã ã®ã³ã¢ ããžãã¹ ããžãã¯ãåŠçãããã¡ã€ã³ ã¯ã©ã¹ (ããžãã¹ ãªããžã§ã¯ããŸãã¯ãšã³ãã£ãã£ãšãåŒã°ããŸã) ã®éã®äžéå±€ãšããŠæ©èœããŸããå¿çšããã®åé¢ã«ãããéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ ããžãã¯å šäœã«åœ±é¿ãäžããããšãªãããŒã¿ ã¹ãã¬ãŒãž ã¡ã«ããºã ã倿Žã§ãããããã¢ããªã±ãŒã·ã§ã³ã®ä¿å®æ§ããã¹ãæ§ãã¹ã±ãŒã©ããªãã£ãåäžããŸãã
DAO èšèšãã¿ãŒã³ã«ã¯ãããã€ãã®éèŠãªã³ã³ããŒãã³ããå«ãŸããŠããŸãã
- ã€ã³ã¿ãŒãã§ã€ã¹: ã¢ããªã±ãŒã·ã§ã³ã«å¿ èŠãªããŸããŸãªããŒã¿ ã¢ã¯ã»ã¹ããã³æäœæ¹æ³ãå®çŸ©ããã€ã³ã¿ãŒãã§ã€ã¹ãããã«ãããããŒã¿ ã¢ã¯ã»ã¹å®è£ ãšã¢ããªã±ãŒã·ã§ã³ã®æ®ãã®éšåãšã®éã®å¥çŽã圢æãããŸãã
- å®è£ : DAO ã€ã³ã¿ãŒãã§ã€ã¹ã®å ·äœçãªå®è£ ãç¹å®ã®ããŒã¿ ã¹ãã¬ãŒãž ã¡ã«ããºã ãšã€ã³ã¿ãŒãã§ã€ã¹ããããŒã¿ããã¡ã€ã³ ã¯ã©ã¹ãçè§£ã§ãã圢åŒã«å€æããã³ãŒããå«ãŸããŸããããŸããŸãªããŒã¿ ã¹ãã¬ãŒãž ãã¯ãããžããµããŒãããããã«ãããŸããŸãªå®è£ ãäœæã§ããŸãã
- ããŒã¿ ãœãŒã¹: ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã NoSQL ã·ã¹ãã ãªã©ãã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠã¢ã¯ã»ã¹ããã³æäœãããããŒã¿ãæ ŒçŽããå®éã®ããŒã¿ ã¹ãã¬ãŒãž ã¡ã«ããºã ã
- ãã¡ã€ã³ (ããžãã¹) ãªããžã§ã¯ã: ã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ ãªããžã§ã¯ããDAO ã¬ã€ã€ãŒãšå¯Ÿè©±ããŠãã¢ããªã±ãŒã·ã§ã³ã®ã³ã¢ ããžãã¹ ããžãã¯ããµããŒãããããã«å¿ èŠãªããŒã¿ã«ã¢ã¯ã»ã¹ããŠæäœããŸãããããã®ãªããžã§ã¯ãã¯éåžžãåºç€ãšãªãããŒã¿ ãœãŒã¹å ã®ç¹å®ã®ããŒãã«ãŸãã¯ã³ã¬ã¯ã·ã§ã³ã«ããããããŸãã
AppMasterno-codeãã©ãããã©ãŒã ã®ã³ã³ããã¹ãã§ã¯ãDAO ã¯ãéçºè ãšåžæ°éçºè ãåæ§ã«ãåºç¯ãªã³ãŒãã£ã³ã°ç¥èãå¿ èŠãšããã«ãã¹ã±ãŒã©ãã«ã§ä¿å®å¯èœã§ãã¹ãå¯èœãªã¢ããªã±ãŒã·ã§ã³ãè¿ éã«äœæã§ããããã«ããäžã§éèŠãªåœ¹å²ãæãããŸããããžãã¹ ããã»ã¹ (BP) ãã¶ã€ããŒãéããŠããŒã¿ ã¢ãã« (ããŒã¿ããŒã¹ ã¹ããŒã) ãšããžãã¹ ããžãã¯ãèŠèŠçã«äœæããããšã§ãéçºè 㯠DAO ã®æ©èœãå©çšããŠãããŒã¿ ã¢ã¯ã»ã¹ãšæäœã®ããã»ã¹ã广çã«ç®¡çããããã¯ãšã³ã REST API ãš WSS endpointsãçæã§ããŸãã
ãšã³ããŠãŒã¶ãŒã¯ãèŠèŠçã«èšèšããã Web ãŸãã¯ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã®ããã³ããšã³ããéããŠããããã®æœè±¡åãããããŒã¿ ã¢ã¯ã»ã¹ ãµãŒãã¹ãšå¯Ÿè©±ããŸããããã³ããšã³ãã¯å®å šã«å¯Ÿè©±åã§ãèªåçæããã REST API ãšçŽæ¥æ¥ç¶ã§ããŸãããã©ãããã©ãŒã äžã§äœæãããã¢ããªã±ãŒã·ã§ã³ã¯ãèŠä»¶ã倿Žããããã³ã«ç¶ç¶çã«åçæã§ãããããæè¡çè² åµãæå°éã«æããäžè²«ããã³ãŒãå質ã確ä¿ã§ããŸããããã«ã AppMaster PostgreSQL äºæããŒã¿ããŒã¹ãå«ãå¹ åºãããŒã¿ ã¹ãã¬ãŒãž ãªãã·ã§ã³ããµããŒãããŠããããŠãŒã¶ãŒã¯ã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ ããžãã¯å±€ã«åœ±é¿ãäžããããšãªããããŸããŸãªã¹ãã¬ãŒãž ã¡ã«ããºã ãã·ãŒã ã¬ã¹ã«åãæ¿ããããšãã§ããŸãã
AppMasterããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ ã³ãŒãã®çæã« Go (Golang) ã䜿çšããWeb ã¢ããªã±ãŒã·ã§ã³ ã³ãŒãã« JavaScript/TypeScript ãšãšãã« Vue3 ãã¬ãŒã ã¯ãŒã¯ã䜿çšããããšã§ããã®é«ã¬ãã«ã®ã¹ã±ãŒã©ããªãã£ãšæè»æ§ãå®çŸããŸããã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã®å Žåã AppMaster Android ã«ã¯ Kotlin ãšJetpack Compose ãiOS ã«ã¯SwiftUIãæ¡çšããŠããŸããããã«ãããçæãããã¢ããªã±ãŒã·ã§ã³ã¯çã«ãã©ãããã©ãŒã ã«äŸåãããç¹å®ã®ã¿ãŒã²ãã ãã©ãããã©ãŒã åãã«ç°¡åã«æ¡åŒµãŸãã¯å€æŽã§ããããšãä¿èšŒãããŸãã
èŠçŽãããšãããŒã¿ ã¢ã¯ã»ã¹ ãªããžã§ã¯ã (DAO) èšèšãã¿ãŒã³ã¯ãç¹ã«ãªããžã§ã¯ãæåããã°ã©ãã³ã°ãããŒã¿ããŒã¹é§ååã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããã¹ãã«ãããŠãé©åã«èšèšãããã¹ã±ãŒã©ãã«ã§ä¿å®å¯èœãªãœãããŠã§ã¢ ã·ã¹ãã ãäœæããéã®åºæ¬çãªæ§æèŠçŽ ãšããŠæ©èœããŸãã DAO ã¯ãããŒã¿ ã¢ã¯ã»ã¹ãšæäœããžãã¯ã广çã«ã«ãã»ã«åããã³æœè±¡åããããšã§ãã¢ãžã£ã€ã«ã§å°æ¥æ§ã®ããã¢ããªã±ãŒã·ã§ã³éçºãžã®éãéããŸãã AppMasterno-codeãã©ãããã©ãŒã å ã§ã¯ãDAO ã¯ãéçºè ãšåžæ°éçºè ãåæ§ã«ãåŸæ¥ã®ããã°ã©ãã³ã° ãã©ãã€ã ã®è€éãã«é¥ãããšãªãã匷åã§å€çšéã®ã¢ããªã±ãŒã·ã§ã³ãèŠèŠçã«æ§ç¯ã§ããããã«ããã®ã«åœ¹ç«ã¡ãŸãã