Skip to main content

Command Palette

Search for a command to run...

Api කියන්නේ මොකක්ද?

Updated
•5 min read•View as Markdown
Api කියන්නේ මොකක්ද?
H

Hi, I’m Harsha Fernando. I love coding, learning new tech, and sharing knowledge in Sinhala. I write about programming, web development, and real-world projects.

මොකක්ද මේ API කියන්නේ?

හරි, “API” කියන්නේ මොකද්ද කියලා අපි මුලින්ම තේරුම් ගමු.

API කියන්නේ Application Programming Interface කියන එකට. මේක අහපු ගමන් බොහෝ දෙනා හිතන්නේ,

“මේක නම් හුඟක් ලොකු, කම්පලෙක්ස් දෙයක්”
“ඩිවලපර් කෙනෙක් වෙන්න ගියොත් විතරයි මේක තේරුම් ගන්න පුළුවන්”

කියලා.

ඇත්තටම API කියන දේ අපි හිතන තරම් අමුතු දෙයක් නෙමෙයි.
ඔයා programming language එකක් ඉගෙන ගන්නකොට, framework එකක් භාවිතා කරනකොට, හෝ application එකක් හදනකොට — මේ හැම තැනකම API කියන concept එක ලොකු role එකක් play කරනවා.

“You don’t need to reinvent the wheel”

තාක්ෂණික ලෝකේ තියෙන ලොකුම concept එකක් තමයි:

You don’t need to reinvent the wheel

ඒ කියන්නේ, කව්රුහරි කලින් හදලා තියෙන දෙයක් නැවත මුල සිට හදන්න ඕනේ නෑ.

Programming වලට apply කරලා බලනකොට:

  • කලින් කව්රුහරි හදලා තියෙන code එකක් තියෙනවනම්

  • ඒ code එක API එකක් විදිහට expose කරලා තියෙනවනම්

ඔයා කරන්න ඕනේ,
👉 ඒ API එක call කරලා use කරන එක
👉 නැතුව ඒ code එක නැවත නැවත ලියන එක නෙමෙයි

එතකොට “API call කරනවා” කියන්නේ මොකද්ද කියලා අපි ඉදිරියට පැහැදිලි කරගමු.

API එක තේරුම් ගන්න හොඳම උදාහරණය – රේඩියෝව

API concept එක තේරුම් ගන්න හොඳම උදාහරණයක් තමයි රේඩියෝව.

රේඩියෝවක තියෙන දේවල් බලන්න:

  • Volume වැඩි / අඩු කරන බටන්

  • Channel මාරු කරන බටන්

  • Power button

👉 මේ බටන් ටික තමයි interface එක.

ඔයා volume button එක එබුවාම:

  • ඇතුළේ තියෙන transistor,

  • circuit,

  • signal processing

මේවා ඔයාට පේනවද?
❌ නැහැ.

ඔයාට කරන්න තියෙන්නේ:

  • button එක press කරන එක විතරයි

👉 ඇතුළේ වෙන්නේ මොනවද කියලා දැනගන්න ඔයාට අවශ්‍ය නෑ.

මේක API එකට කොහොමද සම්බන්ධ වෙන්නේ?

  • Buttons → API Interface

  • Radio ඇතුළේ process වෙන දේ → Application logic / implementation

  • Userට පේන්නේ interface එක විතරයි → Abstraction

Abstraction කියන්නේ මොකද්ද?

API concept එකේ මුලින්ම තියෙන core idea එකක් තමයි Abstraction.

Abstraction කියන්නේ:

  • Userට අවශ්‍ය නැති

  • කම්පලෙක්ස්

  • ඇතුළේ වෙන process

👉 ඒවා පෙන්වන්නේ නැතුව,
👉 Userට use කරන්න විතරක් chance එක දෙන එක.

Userට:

  • process එක බලන්න ඕනේ නෑ

  • logic එක තේරුම් ගන්න ඕනේ නෑ
    Use කරන්න පුළුවන් නම් ඒක enough.

API එකක් කරන්නෙත් ඒකමයි.

API කියන්නේ Web API විතරක්ද?

මේක හුඟක් දෙනාට තියෙන common misunderstanding එකක්.

බොහෝ දෙනා හිතන්නේ:

“API කියන්නේ Web API විතරයි”

❌ ඒක වැරදි.

👉 Web API කියන්නේ API වලින් එක කොටසක් විතරයි
👉 API කියන concept එක හුඟක් විශාලයි

Local API කියන්නේ මොකද්ද?

උදාහරණයක් ගමු.

මං Ruby language එකෙන් මෙහෙම ලියනවා කියලා හිතමු:

name = "harsha"
puts name.upcase

Output එක:

HARSHA

දැන් ප්‍රශ්නය:
👉 upcase කියන එක කොහෙන්ද ආවේ?

  • ඒක ඔයා හදපු function එකක් නෙමෙයි

  • Ruby language එකේ String class එකට අදාලව කලින්ම දීලා තියෙන API එකක්

👉 මේක තමයි local API එකක්.

ඔයා:

  • String.upcase කියන endpoint එක call කරනවා

  • Ruby internally ඒ process එක handle කරනවා

JavaScript APIs – Browser එකේ උදාහරණය

JavaScript console එක Chrome, Firefox, Edge වල run කරලා බලන්න.

Output එක හැම browser එකේම එක වගේ.

ඇයි?

👉 ඒ browser ඔක්කොම use කරන්නේ same JavaScript APIs

ඒ APIs:

  • browser vendors විසින් implement කරලා

  • developersලාට expose කරලා තියෙනවා

Libraries & Frameworks කියන්නෙත් APIs

ඇත්තටම:

  • Library

  • Framework

මේ දෙකම API collections කියලා හිතන්න පුළුවන්.

උදාහරණයක්:

  • Image processing library එකක් තියෙනවා කියලා හිතමු

  • ඔයා ඒ library එක import කරලා

  • resize(), crop() වගේ functions call කරනවා

👉 ඔයා:

  • image processing logic එක මුල සිට ලියන්නේ නෑ

  • API එක call කරලා result එක ගන්නවා

Endpoint කියන්නේ මොකද්ද?

Endpoint කියන්නේ API එකක specific access point එකක්.

Company එකක් හිතන්න:

  • HR department

  • Finance department

  • Support department

Money related ප්‍රශ්නයක් තියෙනව නම්:

  • Company hotline එකට call කරන එක pointless

  • Finance department එකට call කරන එක correct

👉 ඒ වගේමයි API වලත්.

Spotify API එක උදාහරණයක් ගමු:

  • Artist details ගන්න endpoint එකක්

  • Albums ගන්න වෙන endpoint එකක්

Artist details ඕනේ නම්:

  • Artist endpoint එක call කරනවා

Album details ඕනේ නම්:

  • Album endpoint එක call කරනවා

👉 වැරදි endpoint එක call කරලා හරි result එකක් ගන්න බැහැ.

Radio උදාහරණය නැවත

  • Volume අඩු කරන්න ඕනේ නම් → Volume button

  • Channel මාරු කරන්න ඕනේ නම් → Channel button

Volume button එකෙන් channel මාරු වෙන්නෙ නෑ.

👉 ඒ වගේමයි:
එක endpoint එකකට තියෙන්නේ එක් responsibility එකක් විතරයි

Web API & REST API ගැන පොඩි සටහනක්

හුඟක් දෙනා REST API කියලා කියනවා.

මෙතන වැදගත් දෙයක්:

  • REST කියන්නේ API එකක් නෙමෙයි

  • REST කියන්නේ architecture style / guideline set එකක්

👉 Web-based APIs design කරනකොට follow කරන principles ටිකක්.

REST API ගැන අපි වෙනම දවසක detail එකට කතා කරමු.

Web API එකක් real-life උදාහරණයක් – Google Translate

ඔයා Google Translate app එක use කරනවද?

  • Photo එකක් upload කරනවා

  • OCR කරලා text extract කරනවා

  • Translate කරලා result එක දෙනවා

👉 මේ ඔක්කොම:

  • ඔයාගේ phone එකේ CPU එකෙන් locally කරන දෙයක් නෙමෙයි

👉 වෙන්නේ:

  • Client side (phone / browser) → API call එකක් යවනවා

  • Google servers → heavy processing කරනවා

  • Result එක → client side එකට ආපහු එනවා

👉 මේක තමයි Web API එකක් practically work කරන හැටි.

සාරාංශයක්

  • API = Application Programming Interface

  • API කියන්නේ Web API විතරක් නෙමෙයි

  • Local APIs, Library APIs, Framework APIs, Web APIs තියෙනවා

  • API එකක core idea එක = Abstraction

  • Endpoint කියන්නේ specific function / responsibility එකක්

මොනවහරි තව ප්‍රශ්න තියෙනවනම් comments වල දාන්න.
​ඊලඟට අපි REST API කියන්නේ මොකද්ද, කොහොමද work කරන්නේ කියලා කතා කර​මු. 👍

More from this blog

Garbage Collector (GC) යනු කුමක්ද? – Heap Memory පිරිසිදු කරන ක්‍රියාවලිය

කලින් ලිපියේදී Heap Memory එකේ දත්ත කළමනාකරණය කිරීම developer​ට හෝ ස්වයංක්‍රීය ක්‍රියාවලියකට පැවරෙන බව සාකච්ඡා කරා. මෙම ස්වයංක්‍රීය ක්‍රියාවලිය හඳුන්වන්නේ Garbage Collector (GC) ලෙස​යි. Garbage Collector යනු, Heap Memory තුළ භාවිතයෙන් ඉවත් වූ (unused...

Jan 24, 20263 min read
Garbage Collector (GC) යනු කුමක්ද? – Heap Memory පිරිසිදු කරන ක්‍රියාවලිය

Primitive Type සහ Reference Type කියන්නේ මොනවද?

Programming language වල Data Store කරන විදි දෙකක් තියෙනවා: Primitive Types Reference Types (Non-Primitive Types) මේ දෙක අතර මූලික වෙනස තියෙන්නේ Memory එකේ Data තියෙ​න විදිහ. Primitive Types කියන්නේ මොනවද? Primitive type එකක් කියන්නේ simple value...

Jan 24, 20263 min read
Primitive Type සහ Reference Type කියන්නේ මොනවද?

Stack vs Heap memory

පරිගණක ක්‍රමලේඛනයේදී (Computer Programming) memory කළමනාකරණය (Memory Management) ඉතා වැදගත් වේ. ඕනෑම මෘදුකාංගයක් ක්‍රියාත්මක වන විට, එයට අවශ්‍ය දත්ත ගබඩා කර තබා ගැනීමට RAM (Random Access Memory) භාවිතා කරයි. මෙම මතකය(Random Access Memory) ප්‍රධාන වශය...

Jan 24, 20263 min read
Stack vs Heap memory

What is a Protocol (ප්‍රොටෝකෝලයක්)?

සරලවම කිව්වොත්, Protocol එකක් කියන්නේ "නීති මාලාවක්" (Set of Rules). රෙස්ටුරන්ට් එකේ වේට​ර් සහ ඔයා අතර ගනුදෙනුව සාර්ථක වෙන්න නම්, දෙන්නම එකම භාෂාවක් සහ එකම ආචාර විධි (Etiquette) පිළිපදින්න ඕන. ඔයා චීන භාෂාවෙන් කතා කරලා, වේට​ර් සිංහලෙන් උත්තර දුන්නොත...

Jan 22, 20263 min read
What is a Protocol (ප්‍රොටෝකෝලයක්)?

ලෝකේ බහුලවම භාවිතා වන API styles

API එකක් කියන්නේ මොකක්ද කියලා ඔයා දැන් දන්න​වා, හැබැයි කලින් Article එකේ මම කිව්​වා වගේ ලොකේ භාවි​තා වන විවිධ API styles තියෙනවා ඉතින් අද අපි බලමු ඒ මොනවද, ඒවගේ වෙනස්කම් මොනවද කියලා. ඉදිරියට යන්න කලින් පොඩි පැහැදිලි කිරීමක්:මේ ලිපිය පුරාවටම අපි උදාහර...

Jan 22, 20264 min read
ලෝකේ බහුලවම භාවිතා වන API styles
K

KodeXEdu

6 posts

We simplify complex programming concepts in Sinhala for beginners.