𝗖𝗼𝗹𝗱𝗙𝘂𝗹𝘀𝗶𝗼𝗻 𝗚𝗥𝗔𝗣𝗛𝗤𝗟 𝘃𝘀 𝗥𝗘𝗦𝗧
API-കൾ നിർമ്മിക്കുമ്പോൾ ColdFusion ഡെവലപ്പർമാർക്ക് സവിശേഷമായ ഒരു തിരഞ്ഞെടുപ്പ് നേരിടേണ്ടി വരുന്നു. മിക്ക ഗൈഡുകളും GraphQL-ഉം REST-ഉം പൊതുവായി താരതമ്യം ചെയ്യുന്നു. എന്നാൽ ColdFusion ഇവയെ എങ്ങനെ വ്യത്യസ്തമായി കൈകാര്യം ചെയ്യുന്നു എന്നത് അവ പലപ്പോഴും വിട്ടുപോകുന്നു.
ColdFusion-ൽ REST ഒരു നേറ്റീവ് (native) ഫീച്ചറാണ്. cfcomponent rest="true" ഉപയോഗിച്ച് നിങ്ങൾക്ക് എളുപ്പത്തിൽ REST API-കൾ നിർമ്മിക്കാം. cfhttp ഉപയോഗിച്ച് അവ ഉപയോഗപ്പെടുത്താനും (consume) സാധിക്കും. അധിക ടൂളുകൾ ഇല്ലാതെ തന്നെ ഇത് ഇരുവശങ്ങളിലും പ്രവർത്തിക്കുന്നു.
ColdFusion-ൽ GraphQL വ്യത്യസ്തമായാണ് പ്രവർത്തിക്കുന്നത്. ഇത് അസിമെട്രിക് (asymmetric) ആണ്.
ColdFusion 2023 ഒരു നേറ്റീവ് GraphQL ക്ലയന്റ് അവതരിപ്പിച്ചു. GitHub അല്ലെങ്കിൽ Shopify പോലുള്ള ബാഹ്യ സേവനങ്ങളുമായി (external services) ആശയവിനിമയം നടത്താൻ നിങ്ങൾക്ക് getGraphQLClient() ഉപയോഗിക്കാം. ഡാറ്റ ഉപയോഗപ്പെടുത്തുന്നതിന് (consuming data) ഇത് വളരെ അനുയോജ്യമാണ്.
എന്നിരുന്നാലും, ColdFusion നേരിട്ട് GraphQL സർവ് ചെയ്യുന്നില്ല. നിങ്ങളുടെ സ്വന്തം ഡാറ്റ ഒരു GraphQL എൻഡ്പോയിന്റായി (endpoint) എളുപ്പത്തിൽ ലഭ്യമാക്കാൻ നിലവിൽ സാധിക്കില്ല. Adobe ഇത് പിന്നീട് ചേർക്കാൻ പദ്ധതിയിടുന്നുണ്ട്.
ഇന്ന് ColdFusion-ൽ ഒരു GraphQL സെർവർ നിർമ്മിക്കണമെങ്കിൽ, നിങ്ങൾ തന്നെ അത് ചെയ്യേണ്ടതുണ്ട്. നിങ്ങൾക്ക് ഇവ ആവശ്യമാണ്:
- Resolver CFC-കൾ
graphql-javaപോലുള്ള ഒരു Java ലൈബ്രറി- അല്ലെങ്കിൽ ഒരു തേർഡ് പാർട്ടി (third-party) CFML ഇംപ്ലിമെന്റേഷൻ
ശ്രദ്ധിക്കുക: നേറ്റീവ് GraphQL ക്ലയന്റിന് Adobe ColdFusion 2023 അല്ലെങ്കിൽ പുതിയ പതിപ്പുകൾ ആവശ്യമാണ്. ഇത് Lucee-യിൽ പ്രവർത്തിക്കില്ല.
നിങ്ങളുടെ തീരുമാനം നിങ്ങളുടെ ലക്ഷ്യത്തെ ആശ്രയിച്ചിരിക്കും.
- വേഗത്തിൽ API-കൾ നിർമ്മിക്കാനും ലഭ്യമാക്കാനും ആഗ്രഹിക്കുന്നുവെങ്കിൽ REST ഉപയോഗിക്കുക.
- ബാഹ്യ സേവനങ്ങളിൽ നിന്ന് ഡാറ്റ ശേഖരിക്കേണ്ടതുണ്ടെങ്കിൽ GraphQL ഉപയോഗിക്കുക.
നിങ്ങളുടെ നിലവിലെ പ്ലാറ്റ്ഫോം പരിമിതികൾക്ക് അനുയോജ്യമായ ടൂൾ തിരഞ്ഞെടുക്കുക.
ഓപ്ഷണൽ ലേണിംഗ് കമ്മ്യൂണിറ്റി: https://t.me/GyaanSetuAi