GraphQL API ã¯ãã¢ããªã±ãŒã·ã§ã³ ããã°ã©ãã³ã° ã€ã³ã¿ãŒãã§ã€ã¹ (API) èšèšã®åéã«ãããç»æçãªãã¯ãããžã§ãããåŸæ¥ã® RESTful API ã«ä»£ããæè»ã§å¹ççãã€é«éãªä»£æ¿ææ®µãæäŸããŸãã 2015 幎㫠Facebook ã«ãã£ãŠçºè¡šããã GraphQL ã¯ãæ£ç¢ºãªã¯ãšãªãæäŸããããŒã¿ã®ãªãŒããŒãã§ãããŸãã¯ã¢ã³ããŒãã§ãããåæžãã API ã®ã¯ãšãªèšèªããã³ã©ã³ã¿ã€ã ãšããŠèšèšãããŠããŸãã GraphQL API ã¯ããã®å€çšéæ§ãããã©ãŒãã³ã¹ã䜿ããããã«ãã人æ°ãé«ãŸã£ãŠãããäžå°äŒæ¥ããå€§èŠæš¡ãšã³ã¿ãŒãã©ã€ãº ã·ã¹ãã ã«è³ããŸã§ãææ°ã® Webãã¢ãã€ã«ãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠåªããéžæè¢ãšãªã£ãŠããŸãã
GraphQL API ã®äžæ žçãªåŒ·ã¿ã¯ãã¯ã©ã€ã¢ã³ãã«å¿ èŠãªæ£ç¢ºãªããŒã¿ãæäŸã§ããæ©èœã«ãããŸãã GraphQL ã¯ãã¯ã©ã€ã¢ã³ããç¹å®ã®ããŒã¿ ãã£ãŒã«ãããªã¯ãšã¹ãã§ããããã«ããããšã§ãéå°ãŸãã¯äžååãªããŒã¿ã®éå¹ççãªååŸãæé€ããŸãããã®å©ç¹ã¯ããµãŒããŒãå¿çã®æ§é ãæ±ºå®ãããããããŒã¿ã®ãªãŒããŒãã§ãããŸãã¯ã¢ã³ããŒãã§ãããçºçããå¯èœæ§ãããåŸæ¥ã® RESTful API ãšã¯å¯Ÿç §çã§ãããããã£ãŠãGraphQL API ã¯ããŒã¿è»¢éãæé©åããåŸ ã¡æéãççž®ããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåäžãããŸãã
GraphQL API ã®ãã 1 ã€ã®ç¹åŸŽã¯ã匷åãªåã·ã¹ãã ã§ãã GraphQL ã¹ããŒãå®çŸ©èšèª (SDL) ã䜿çšãããšãéçºè 㯠API ã¹ããŒãå ã®ããŒã¿åãã¯ãšãªãããã³å€æŽãæ£ç¢ºã«å®çŸ©ã§ããŸãããã®ã¿ã€ãã®ã·ã¹ãã ã¯ãããŒã¿æ€èšŒã匷å¶ããã ãã§ãªããã¯ã©ã€ã¢ã³ããšãµãŒããŒéã®å¥çŽãšããŠãæ©èœããããŒã¿èŠä»¶ã®å¹æçãªäŒéãå¯èœã«ããŸããããã«ãGraphQL API ã®ã€ã³ããã¹ãã¯ã·ã§ã³æ©èœã«ãããã¯ã©ã€ã¢ã³ãã¯ã¹ããŒããã¯ãšãªã§ãããããæåä»å ¥ãªãã§ã¹ããŒãã®å€æŽã«é©å¿ã§ãããããAPI ã®ä¿å®æ§ãšé©å¿æ§ãåäžããŸãã
ãŸããGraphQL ã¯ãè€æ°ã®endpoints 1 ã€ã®endpointã«çµ±åããããšã«ãããAPI ã®èšèšãšå®è£ ãç°¡çŽ åããŸããããã«ãããã¯ã©ã€ã¢ã³ã㯠1 åã®ãªã¯ãšã¹ãã§ããŸããŸãªãªãœãŒã¹ããããŒã¿ãååŸããŠæŽæ°ã§ããããã«ãªããã¯ã©ã€ã¢ã³ãåŽã®ã³ãŒãã®è€éãã軜æžãããã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ãç°¡çŽ åãããŸããããã«ããµãã¹ã¯ãªãã·ã§ã³ãšããŠç¥ããã GraphQL ã®ãªã¢ã«ã¿ã€ã æŽæ°æ©èœã¯ããªã¢ã«ã¿ã€ã ã®ããŒã¿ ã¹ããªãŒãã³ã°ãšæŽæ°ãå¿ èŠãšããææ°ã®ã¢ããªã±ãŒã·ã§ã³ã«ç¹ã«é©ããŠããŸãã
AppMasterã§ã¯ãGraphQL API ã®ãã¯ãŒãšå©ç¹ãèªèããŠãããã·ãŒã ã¬ã¹ã§å¹ççãã€æé©ãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®æè¯ã®ããŒã«ãã客æ§ã«æäŸããããåªããŠããŸããåœç€Ÿã®no-codeãã©ãããã©ãŒã ã¯ãGraphQL ã¹ããŒããã¯ãšãªããã¥ãŒããŒã·ã§ã³ãäœæããããã®èŠèŠçã«çŽæçãªèšèšããŒã«ãæäŸããWebãã¢ãã€ã«ããŸãã¯ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã®åºæã®èŠä»¶ã«å¿ããŸãã AppMasterã®åçåããããŠãŒã¶ãŒãã¬ã³ããªãŒãªãã©ãããã©ãŒã ã䜿çšãããšãåºç¯ãªã³ãŒãã£ã³ã°ã®å°éç¥èãå¿ èŠãšããã«ãGraphQL API ãã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãããšããããŸã§ããç°¡åãã€å¹ççã«ãªããŸãã
æå 端ã®ãã¯ãããžãŒãšå¹ççãªèšèšãã¿ãŒã³ãæäŸãããšããåœç€Ÿã®åãçµã¿ã®äžç°ãšããŠã AppMasterã¢ããªã±ãŒã·ã§ã³ã¯ GraphQL API ãšã·ãŒã ã¬ã¹ã«çµ±åã§ãããããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåäžããã¹ã±ãŒã©ãã«ã«ãªããå°æ¥æ§ãé«ãŸããŸããåœç€Ÿã®åŒ·åãªno-codeãã©ãããã©ãŒã ã«ãããã客æ§ã¯æè»æ§ãè€éããç ç²ã«ããããšãªããå¹çãšããã©ãŒãã³ã¹ã«éç¹ã眮ããé åçã§åŒ·åãªããŒã¿é§ååã¢ããªã±ãŒã·ã§ã³ãäœæã§ããããã«ãªããŸãã AppMasterã®æ©èœã GraphQL API ãšçµã¿åãããŠæŽ»çšããããšã§ãå®å šãªå¶åŸ¡ãšçµ¶ããå€åããèŠä»¶ã«é©å¿ããèœåãç¶æããªãããã¢ããªã±ãŒã·ã§ã³ãè¿ éã«å®çŸããããŸããŸãªãã©ãããã©ãŒã ã«ãããã€ããããšãã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã§ GraphQL API ã䜿çšããæ©èœãšå©ç¹ã匷調ããããã«ã AppMaster ãããŸããŸãªäœ¿çšäŸã«å¯Ÿå¿ãããããã«äœ¿çšã§ãããµã³ãã«ãšãã³ãã¬ãŒãã倿°æäŸããŠããŸãããããã®ãã³ãã¬ãŒãã¯ãçŸä»£ã®ã¢ããªã±ãŒã·ã§ã³éçºã®åçãªç¶æ³ã«ç°¡åã«ã«ã¹ã¿ãã€ãºããã³é©å¿ã§ãã匷åºãªåºç€ãæäŸããããšã§ãã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ãè¿ éã«éå§ããã®ã«åœ¹ç«ã¡ãŸããéçºé床ã®åäžãã³ã¹ãã®åæžãé«å質ã®åºåã®ç¢ºä¿ã«éç¹ã眮ããåœç€Ÿã®ãã©ãããã©ãŒã ã¯ãããããèŠæš¡ã®äŒæ¥ã®ããŒãºã«å¿ããæ©èœãåããŠããŸãã
çµè«ãšããŠãGraphQL API 㯠API ã®èšèšãšå®è£ ã«é©åœãããããã驿°çãªãã¯ãããžãŒã§ããæ£ç¢ºãªã¯ãšãªã匷åãªåã·ã¹ãã ãåäžã®endpoint ããªã¢ã«ã¿ã€ã æŽæ°ã«ãããææ°ã® Webãã¢ãã€ã«ãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠäžå¯æ¬ ãªããŒã«ãšãªã£ãŠããŸãã GraphQL API ãAppMasterã®no-codeãã©ãããã©ãŒã ãšçµ±åãããšãã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ãå éããè€éããæå°éã«æããã¹ã±ãŒã©ããªãã£ãšé©å¿æ§ã確ä¿ããªããããã®ãã¯ãããžãŒã®ãã¯ãŒãšå©ç¹ã掻çšããããšãã§ããŸãã AppMasterãã©ãããã©ãŒã ã§ GraphQL API ãæ¡çšãããšãã¢ããªã±ãŒã·ã§ã³éçºèœåãæ°ããªé«ã¿ã«åŒãäžããããžã¿ã«æä»£ã®é²åãç¶ããéèŠãæºããã匷åã§å¹ççã§å°æ¥æ§ã®ããã¢ããªã±ãŒã·ã§ã³ãäœæã§ããããã«ãªããŸãã