API ကို ဘယ်မှာလေ့လာရမလဲ

Application programming interface (API) ဆိုတာ ဘာကြီးတုန်း။ အခုခေတ်က API တွေ သုံးတတ်ရမယ်ဆို။ API ကို ဘယ်မှာ လေ့လာရမှာလဲ။ အဲလိုမေးခွန်းတွေမှာ API ကို ဘယ်မှာ လေ့လာရမလဲဆိုတဲ့ မေးခွန်းကို ဘာပြန်ပြောရမှန်းမသိဘူး ဖြစ်လောက်အောင်ပဲ။ API ကို ဘယ်မှာ လေ့လာရမလဲဆိုတဲ့ မေးခွန်းမေးတဲ့ သူဟာ API ဆိုတာ အခုမှ ကြားဖူးနားဝ ရှိဘူးပြီးတဲ့ ပုံပေါ်ပါတယ်။ ဘာပဲ ပြောပြော လေ့လာချင်စိတ် ရှိတဲ့အတွက်တော့ သိလာနိုင်ပါတယ်။

API ကို သိချင်ရင် Wiki မှာ ဖတ်ကြည့်ပေါ့ကွာလို့ လွယ်လွယ်ပြောလိုက်ရပါတယ်။ သို့ပေမယ့် API ဆိုတာ ဘာကြီးမှန်း မသိတဲ့သူကို wiki မှာ ဖတ်ခိုင်းလည်း လည်နေမယ်လို့ထင်ပါတယ်။ API ဆိုတာကတော့ Application တွေ နဲ့ Service တစ်ခုခုကို ကြားခံဆောင်ရွက်ပေးတဲ့ အရာလို့ သတ်မှတ်လို့ရပါတယ်။

ဥပမာ ။ ။ Program Windows က service တစ်ခုခုကို ယူသုံးချင်တယ်။ အဲဒီအခါ Windows API ကနေ တဆင့်လှမ်းခေါ်ဖို့လိုပါတယ်။ Windows API က ဘယ် application programming ကနေ မဆို လှမ်းခေါ်လို့ ရအောင် ဖန်တီးထားပါတယ်။ ဒါက သဘောပြောပြတာပါ။ တနည်းထပ်ပြောရင် Application ကို ထပ်ပြီး Implement လုပ်လို့ရအောင် library တွေ ထုတ်ထားပေးတဲ့ သဘောပေါ့။ ဒီလောက်ဆိုရင် application programming သမားတွေ သဘောပေါက်ပါလိမ့်မယ်။ web developer တွေ ထက်စာရင် application programmer တွေက API နဲ့ စိမ်းပါတယ်။ ကျွန်တော်ကတော့ Web Developer ဖြစ်တော့ Web API တွေကို ပဲ သုံးပါတယ်။

Web API နဲ့ ပတ်သက်ပြီး လွန်ခဲ့တဲ့ ၈ လ လောက်က ရေးထားတဲ့ Web Service , Web API ဆိုတဲ့ post လေး ရှိပါတယ်။ အခုခေတ်မှာ Web Development လုပ်တဲ့အခါမှာ facebook connect မချိတ်ရင် openid မသုံးရင် သိပ်ပြီး အဆင်မပြေတော့ဘူး။ Web Sites တော်တော်များများမှာ facebook connect , openid တွေ ပါလာပါပြီ။ Single Sign One တွေကို အသုံးပြုလာကြပြီ။ ဒါကြောင့် အခုခေတ်မှာ API ကို မဖြစ်မနေ သိထားဖို့ လိုလာပြီ။ လက်ရှိ ကျွန်တော်ကတော့ အလုပ်မှာ Facebook Graph API နဲ့ Google API ပိုင်းတွေကို ရေးရတာတွေ ရှိပါတယ်။ Google API က အများကြီး ရှိပါတယ်။ သို့ပေမယ့် တစ်ခုကို သဘောပေါက်သွားရင် အခြားဟာတွေ ရေးဖို့လွယ်သွားပြီ။ Google API ထဲမှာ အသုံးများတာက Google Map API ပါ။ အဲဒါကြောင့် ကျွန်တော် အပေါ်မှာ ပြောထားတာပါ။ API ကို ဘယ်မှာ လေ့လာလို့ရမလဲ ဆိုတဲ့ မေးခွန်းအတွက် အဖြေမရှိဘူးဆိုတာ။ ဘယ် API ကို လေ့လာချင်တာတုန်း။ Google API လို့ ထပ်ပြောလိုက်ရင်။ ဘယ် Google API တုန်း ဆိုပြီး ထပ်မေးရမယ့် ကိန်းပါ။ Google Map API လို့ ထပ်ပြောလာရင်။ ဒါများ documentation ရှိတာပဲ ကိုယ့်ဘာသာ ကိုယ်ဖတ်ပေါ့။ API ကို သင်တန်းတက် သလိုမျိုး သင်လို့ မရဘူး။ သင်တန်းလည်း သွားတက်နေလို့မရဘူး။ Google Map API ပဲ ကြည့်။ အခုဆို V3 တောင် ရောက်သွားပြီ။ v3 မှာ အပြောင်းအလဲတွေ နည်းနည်းများတယ်။ ပိုပြီးတော့လည်း ကောင်းလာတယ်။ v2 က အချို့ code တွေ အလုပ်မလုပ်တာကိုလည်း တွေ့ရတယ်။ Facebook API ဆိုလည်း အရင်က API နဲ့ အခုလက်ရှိ Graph API မတူတော့ဘူး။ API ကို တတ်ချင်ရင် သိချင်ရင် ဘယ် API ကို သုံးချင်တာလဲ။ အဲဒီအတွက် Documentation တွေ ရှိထားပြီးသားပါ။ ဖတ်ပြီး လေ့လာလို့ရပါတယ်။

API တွေက ဘာလဲဆိုတော့ လက်ရှိ application ပေါ်မှာ ထပ်ပြီး implement လုပ်လို့ရအောင် ထုတ်ပေးတာပါ။ Twitter API ကြောင့် twitter client တွေ ရေးလို့ရလာတယ်။ facebook api ကြောင့် facebook connect တို့ publish stream တို့ လုပ်လို့ရလာတယ်။ Google Map API ကို သုံးပြီး ကိုယ့် website မှာ google map ကို ထည့်သွင်းလို့ရတယ်။ ဒါက API တွေရဲ့ အကျိုးကျေးဇူးတွေပဲ။ ထပ်ရှင်းရရင် … ဥပမာ။။ Ornagai ပေါ့ဗျာ။ Ornagai website က data တွေ လိုချင်တယ်။ ရှိပါတယ်။ tsv နဲ့ ယူလေ။ live data လိုချင်တာ။ ကျွန်တော့် sites ကနေ ရှာလိုက်ရင် Ornagai ကြီး သွားမဖွင့်ချင်တော့ဘူးလေဗျာ။ ကျွန်တော့် site မှာပဲ result ပြချင်တာဗျ။ အဲဒါဆို ဘယ်လိုလုပ်မလဲ။ ကျွန်တော်က သူ့ကို database ကြီး ဖွင့်ပေးလိုက်ရမလား။ database ထဲမှာ user information တွေ ရှိတယ်လေဗျာ။ ဘာလို့ ဖွင့်ပေးရမှာလဲ။ သူက စာလုံးပဲ ရှာချင်တာပေါ့။ ဟုတ်ပြီ။ စာလုံးရှာဖို့ အတွက် Ornagai API ကို ထုတ်ပေးလိုက်တယ်။ ရော့ ornagai api ကို သုံးပြီး ကိုယ့် website ထဲမှာ ပေါ်အောင် ရေး။ ornagai api ကို သုံးပြီး online application တွေ client application တွေ ရေးချင်ရေးလို့ရလာတာပေါ့။

အဲဒါက API ပဲ။ API ပေးတော့ ပြဿနာတစ်ခုက လက်ရှိ server က ပိုပြီး အလုပ်လုပ်ရတာပေါ့။ အဲဒီတော့ ဘယ်လိုလုပ်မလဲ။ API Key ထုတ်ပေးပြီး ဒီ application က ၁ နာရီ ကို ဘယ် နှစ်ကြိမ်ပဲ request ရှိတယ်ဆိုတာကို သတ်မှတ်တာတွေ လုပ်လာရပြီ။ twitter public stream က IP တစ်ခုကနေ ၁ နာရီကို အကြိမ် ၁၅၀ ပဲ request လုပ်ခွင့်ပေးသလိုပေါ့။ Client application က လူသုံးအရမ်းများလာရင် ဒီ API Key က request တွေ အရမ်းများတယ်။ အဲဒီ အတွက် သူ့ app ကို စစ်ဖို့ လိုတယ်ဆိုတာကို သိနိုင်သလို ဒီ request ထက်ပိုသွားရင် ပိုက်ဆံ ပေးရမယ်ဆိုပြီး စီးပွားရေး ပုံစံတွေ ပြောင်းလဲလာတာတွေလည်း ရှိပါတယ်။

တနည်းပြောရင် API ကို လေ့လာချင်တယ်လို့ ပြောနေတဲ့သူတွေအတွက် ဘယ် API ကို စလေ့လာမလဲဆိုတာကို စဉ်းစားဖို့လိုပါတယ်။ ရိုးရိုးလွယ်လွယ်ကတော့ Google Map API ပဲ။ Facebook connect လည်း SDK သုံးလိုက်ရင် လွယ်ပါတယ်။ Twitter လည်း ထိုနည်းလမ်းကောင်းပါပဲ။ Client Library တွေကို သုံးလိုက်လို့ရပါတယ်။ သို့ပေမယ့် Facebook တို့ Twitter တို့သုံးမယ်ဆိုရင်တော့ RESTful နဲ့ oAuth ကို နားလည် ထားရင် ပိုကောင်းပါလိမ့်မယ်။ RESTful ဆိုတာ ဘာလဲ oAuth ဆိုတာ ဘာလဲဆိုတာကတော့ twitter ကိုလေ့လာရင်းနဲ့ သိလာနိုင်ပါတယ်ဗျာ။ ဘာလို့ RESTful နဲ့ oAuth ကို သိဖို့လိုမှာလဲလို့ မေးလာရင် လက်ရှိ API တော်တော်များများက အဲဒီ ၂ ခုကို အသုံးပြုကြပါတယ်။ wsdl ကော ။ SOAP ဆိုတဲ့ webservice ကကော လို့ ပြန်ပြောကောင်းပြန်ပြောပါလိမ့်မယ်။ သူတို့ကတော့ လက်ရှိ public ချပေးတဲ့ API တွေမှာ အသုံးနည်းသွားပါပြီ။ RESTful က နားလည်ရတာ လွယ်ကူပြီး oAuth ကတော့ ကိုယ့် username နဲ့ password ကို client website ကို ပေးစရာမလိုပဲ login ဝင်နိုင်တဲ့ နည်းပညာလို့ အလွယ်မှတ်လိုက်လို့ရပါတယ်ဗျာ။

10 Comments

  1. matrix says:

    ကို စေတန် ရေ gadget လေးတ ခု စမ်းထား တာ ရှိ တယ် ဗျ ။
    လောလော ဆယ် တော့ jquery နဲ့ javascript (all data in javascript)
    ကို သုံး ထား တာ ဗျ။
    ဖြစ်နိုင် မယ် ဆို ရင် အကို့ database က data ကို ajax api ne တိုက် ရိုက် ယူ သုံး ချင် လို့ ဗျ။

    1. saturngod says:

      ဘာကို စမ်းထားတာလဲ မသိဘူး ???? Ornagai ဆိုရင်တော့ ornagai api ကို ornagai.pbworks.com မှာ ရေးထားပြီးသားပါ။ javascript နဲ့ သုံးမယ်ဆိုရင်တော့ yql နဲ့ ပေါင်းရေးဖို့လိုပါတယ်။

  2. matrix says:

    thanks,
    ans : dictionary gadget with autocomplete, approxiamately total word is 17000 , i think i copy from en-mmdict.txt then export to JS ,
    may i know how many total words in onagai ?

    1. saturngod says:

      Total English To Myanmar Word : 31040
      Total Myanmar To English Word : 52897

  3. matrix says:

    Thanks , I m going to find your Mysql . :)

    1. saturngod says:

      no sql. it’s RESTful api.

      1. matrix says:

        thanks :)

  4. Mar Mar Khine says:

    ဟုတ်ကဲ့ ကိုစေတန်ရှင့် …
    အခုလို စိတ်ရှည်လက်ရှည်နဲ့ စေတနာပါပါ ရှင်းပြတာကျေးဇူးတင်ပါတယ် :D

  5. ချစ်ကိုကို says:

    ကိုစေတန်ရေ … ဒီပို့စ်နဲ့ တော့ မဆိုင်လှပါဘူး။ ဒါပေမယ့် ကိုစေတန် facebook မှာ လုပ်ထားတဲ့ discussion tab ကို ဘယ်လိုထည့်ထားသလဲ သိချင်တာပါ။ ဖြေကြားလို့ရရင် ကူညီပါအုံး။

    1. saturngod says:

      discussion tab only available on fan page. You can enable from fan page setting

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.