GraphQL ã¯ãã¢ããªã±ãŒã·ã§ã³ ããã°ã©ãã³ã° ã€ã³ã¿ãŒãã§ã€ã¹ (API) ã«å©çšãããéåžžã«æè»ã§å¹ççãªã¯ãšãªèšèªã§ãã¯ã©ã€ã¢ã³ããæ å ±ã®ãªãŒããŒãã§ãããŸãã¯ã¢ã³ããŒãã§ãããåé¿ããªããå¿ èŠãªããŒã¿ããªã¯ãšã¹ãã§ããããã«ããŸããããšããš GraphQL ã¯ãåŸæ¥ã® REST API å®è£ ã«äŒŽãäžè¬çãªåé¡ã解決ãã驿°çãªã¢ãããŒããšã㊠2012 幎㫠Facebook ã«ãã£ãŠéçºããããã®ã§ãæ¥éã«äººæ°ãåããçŸåšã§ã¯å€ãã®æ¥çããã¯ãããžãŒã§åºã䜿çšãããŠããŸããããã¯ãæ§é åãããäºæž¬å¯èœãªæ¹æ³ã§ãµãŒããŒããã¯ã©ã€ã¢ã³ãã«ããŒã¿ãé ä¿¡ããããã®ããã匷åã§çŽæçãã€å¹ççãªæ¹æ³ãéçºè ã«æäŸããŸãã
GraphQL ã®äž»ãªå©ç¹ã¯ãã¹ããŒãåªå ã®ã¢ãããŒãã§ããããšã§ããã¹ããŒãã¯ãAPI ãåãå ¥ããŠè¿ãã¿ã€ããã¯ãšãªãããã³å€æŽãå®çŸ©ãããµãŒããŒãšäœ¿çšããã¯ã©ã€ã¢ã³ãã®éã§æç€ºçãªã³ã³ãã©ã¯ãã確ç«ããææ®µãæäŸããŸããããã«ãããã¯ã©ã€ã¢ã³ãã¯ãåæãããã¹ããŒãã«åºã¥ããŠãæå®ããããŒã¿ã®ã¿ã確å®ã«åä¿¡ã§ããããã«ãªããŸãã GraphQL ã¹ããŒãã¯ããµãŒããŒå®è£ ãšã¯ã©ã€ã¢ã³ãåŽã®äœ¿çšã®äž¡æ¹ã«å¯Ÿããä¿¡é Œã§ããå¯äžã®æ å ±æºãšããŠæ©èœããéçºããŒã éã®ã³ãã¥ãã±ãŒã·ã§ã³ã®åŒ·åãã³ã©ãã¬ãŒã·ã§ã³ã®åäžãããäžè²«ãã API æ§é ãä¿é²ããŸãã
GraphQL ã¯ãšãªèšèªã®éèŠãªæ©èœã® 1 ã€ã¯ãã®éå±€çãªæ§è³ªã§ãããã¯ã©ã€ã¢ã³ãã¯åäžã®ãªã¯ãšã¹ããç¶æããªãããè€æ°ã¬ãã«ã®ãã¹ããããæ å ±ãå«ãããŒã¿ããªã¯ãšã¹ãã§ããŸããããã«ãããåãããŒã¿ãååŸããããã«å€æ°ã®åå¥ã®ãªã¯ãšã¹ããå¿ èŠãšãªãåŸæ¥ã® REST API ãšã¯å¯Ÿç §çã«ãããŒã¿ååŸæäœã®å¹çãå€§å¹ ã«åäžããŸãã GraphQL ã¯ãã¯ã©ã€ã¢ã³ããè€æ°ã®é¢é£ãªãœãŒã¹ãåæã«ã¯ãšãªã§ããããã«ããããšã§ãåé·ãªãªã¯ãšã¹ããåæžããè€éãªãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ (UI) ã®å®è£ ã«å¿ èŠãªåŽåãæå°éã«æããŸãã
GraphQL ã®ãã 1 ã€ã®éèŠãªåŽé¢ã¯ãæç¢ºã«å®çŸ©ãããã«ãŒã«ã«åŸã£ãŠããŒã¿ãåžžã«èŠæ±ããè¿ãããããã«ãããã¹ããŒãã匷å¶ããåã·ã¹ãã ã§ããåã·ã¹ãã ã«ãããããŒã¿ãæäœããéã®é«ã¬ãã«ã®æ€èšŒãšå®å šæ§ãå¯èœã«ãªããã¯ã©ã€ã¢ã³ãã¯èµ·ããåŸããšã©ãŒãäºæž¬ãããšããžã±ãŒã¹ããã广çã«åŠçã§ããããã«ãªããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®å®å®æ§ãåäžããéçºããã»ã¹ãããåçåãããŸãã
AppMasterno-codeãã©ãããã©ãŒã ã¯ãGraphQL ã®åŒ·åãªæ©èœãå©çšããæå 端ã®éçºããŒã«ã®ä»£è¡šçãªäŸã§ããããã«ããã顧客ã¯ã³ãŒããäžåæžããã«ãããŒã¿ ã¢ãã«ãããžãã¹ ããžãã¯ãRESTful API endpoints ãå¿çæ§ã®é«ã Web ããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãèŠèŠçã«äœæã§ããããã«ãªããŸãããã®çµæãåŸæ¥ã®ããã°ã©ãã³ã°æ¹æ³ãšæ¯èŒããŠãéçºããã»ã¹ã 10 åé«éã«ãªããã³ã¹ãå¹çã 3 ååäžããŸããããã«ãGraphQL ã®å°å ¥ã«ãããã¯ã©ã€ã¢ã³ããšãµãŒããŒã¯ããªãŒããŒãã§ãããŸãã¯ã¢ã³ããŒãã§ãããæé€ããé å»¶ãåæžãã垯åå¹ ãç¯çŽããæé©åãããéä¿¡ã¡ã«ããºã ã®æ©æµãåããããšãã§ããŸãã
GraphQL ã®äººæ°ãé«ãŸã£ãŠãã蚌æ ãšããŠããã®ãã¯ãããžãŒã¯äžçäžã®å€ãã®ä¿¡é Œã§ããäŒæ¥ãçµç¹ããªãŒãã³ãœãŒã¹ ãããžã§ã¯ãã«æ¡çšãããŠããŸããèåãªäŸãšããŠã¯ãAirbnbãGithubãShopifyãAtlassianããã¥ãŒãšãŒã¯ ã¿ã€ã ãºãªã©ãæããããŸãã GraphQL ãåãå·»ãæŽ»çºãªãšã³ã·ã¹ãã ã«ã¯ãããŸããŸãªã©ã€ãã©ãªãåŠç¿ãªãœãŒã¹ãããã³å€æ°ã®ããã°ã©ãã³ã°èšèªããã©ãããã©ãŒã ã§ã®å®è£ ããµããŒãããéçºè ããŒã«ãå«ãŸããŠããŸãã
AppMasterãã©ãããã©ãŒã å ã§ GraphQL ãæ¡çšãããã 1 ã€ã®æ³šç®ãã¹ãå©ç¹ã¯ãæè¡çè² åµã®æé€ã§ãããŠãŒã¶ãŒã®èŠä»¶ãå€ãããã³ã«ã AppMasterã¢ããªã±ãŒã·ã§ã³ãæåããåçæããåŸæ¥ã®ã³ãŒãã®å€æŽã«é¢é£ããåé¡ã广çã«åé¿ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ãæéã®çµéãšãšãã«é²åããŠããæ¡åŒµæ§ãä¿å®æ§ãããã³é«ãããã©ãŒãã³ã¹ãç¶æã§ããããšãä¿èšŒãããŸããããã«ã AppMasterã®ãµãŒããŒäž»å°ã®ã¢ãããŒãã¯ãApp Store ã Play ããŒã±ãããžã®åéä¿¡ãå¿ èŠãšããã«ã·ãŒã ã¬ã¹ãªã¢ããªã±ãŒã·ã§ã³ã®æŽæ°ã«å¯Ÿå¿ãããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãåäžãããæåä»å ¥ãæžãããŸãã
GraphQL ã¯ãAPI éçºãšããŒã¿åŠçã«é©åœãããããã匷åã§æè»ãªãã¯ãããžãŒã§ããããšã蚌æãããŠããŸãã AppMasterno-codeãã©ãããã©ãŒã ã¯ãGraphQL ã®åçãªæ©èœã掻çšããããšã§ãã客æ§ãç¬èªã®ããžãã¹ ããŒãºã«å¿ãããã«æ©èœã® Webãã¢ãã€ã«ãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ãè¿ éãã€å¹ççã«æ§ç¯ã§ããããã«ããŸãããã®é©æ°çãªãã¯ãããžãŒã®æ¡çšã«ããããœãããŠã§ã¢éçºããã»ã¹ãåçåãããææ°ã®ã¢ããªã±ãŒã·ã§ã³èŠä»¶ãæºããããã®ãã广çã§ã¹ã±ãŒã©ãã«ã§æç¶å¯èœãªã¢ãããŒããä¿é²ãããŸãã