ThishVerse Logo
THISHVERSE
HomeBlogAboutContact
Back to all posts
Programming

Framework එකක් කියන්නේ මොකක්ද?

Framework එකක් කියන්නේ මොකක්ද, developers ලා ඒවා භාවිතා කරන්නේ ඇයි, සහ framework එකක් library එකකින් වෙනස් වන්නේ කොහොමද?

HHirun Thishakya
August 24, 2026
5 min read
Framework එකක් කියන්නේ මොකක්ද?

Programming ඉගෙනගන්න පටන් ගත්තම React, Django, Laravel, Angular, Spring Boot, Next.js වගේ නම් නිතරම අහන්න ලැබෙනවා.

ඒත් මේවා මොනවාද?

මේවායින් බොහොමයක් applications develop කරන්න developers ලාට උදව් කරන frameworks හෝ development tools.

Framework එකක් කියන්නේ මොකක්ද?

Framework එකක් කියන්නේ software application එකක් develop කිරීමට අවශ්‍ය pre-built structure, tools සහ rules ලබාදෙන development foundation එකක්.

ඒ කියන්නේ application එකක් සම්පූර්ණයෙන්ම හිස් project එකකින් පටන් ගන්නවා වෙනුවට, framework එකෙන් ලබාදෙන structure එක භාවිතා කරලා application එකේ actual features develop කරන්න පුළුවන්.

සරලව කිව්වොත්:

Framework එකක් කියන්නේ software එකක් build කිරීමට කලින්ම සකස් කර ඇති foundation එකක් වගේ දෙයක්.


ඔයාට ගෙයක් හදන්න ඕන කියලා හිතමු.

හිස් ඉඩමකින් පටන් ගත්තොත් හැම දෙයක්ම ඔයාටම plan කරන්න වෙනවා.

  • Foundation එක හදන්නේ කොහොමද?

  • Rooms organize කරන්නේ කොහොමද?

  • Electrical system එක කොහොමද?

  • Plumbing system එක කොහොමද?

  • Doors සහ windows තියෙන්නේ කොහෙද?

මේ හැම දෙයක්ම මුල ඉඳන් කරන්න ගියොත් ගොඩක් කාලයක් යනවා.

දැන් හිතන්න, කෙනෙක් ඔයාට basic house structure එකක් හදලා දුන්නා කියලා.

Foundation එකත් තියෙනවා. Walls වල basic structure එකත් තියෙනවා. Plumbing සහ electrical system එකට අවශ්‍ය basic planning එකත් තියෙනවා.

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

  • Rooms design කිරීම

  • Furniture තෝරාගැනීම

  • Colors තෝරාගැනීම

  • අවශ්‍ය additional features එකතු කිරීම

මේක software development වල framework එකකට සමානයි.

Framework එක basic structure එක ලබාදෙනවා. Developer application එකේ actual features හදනවා.


Framework එකකින් ලැබෙන්නේ මොනවාද?

Framework එක අනුව ලබාදෙන features වෙනස් වෙනවා. නමුත් සාමාන්‍යයෙන් framework එකක් developers ලාට මේ වගේ දේවල් handle කරන්න උදව් කරනවා:

  • Project structure – Files සහ components organize කරන්නේ කොහොමද

  • Routing – වෙනස් URLs සහ pages handle කිරීම

  • Database interaction – Database සමඟ සන්නිවේදනය කිරීම

  • Authentication – Login සහ user permissions handle කිරීම

  • Request handling – User requests process කිරීම

  • Error handling – Application errors manage කිරීම

  • Security features – Common security mechanisms ලබාදීම

  • Reusable components – එකම code එක නැවත නැවත ලියන එක අඩු කිරීම

ඒ නිසා මේ හැම දෙයක්ම මුල සිටම develop කරන්න අවශ්‍ය නෑ, framework එකෙන් ලබාදෙන tools සහ structures භාවිතා කරන්න පුළුවන්.


ජනප්‍රිය Framework කිහිපයක්

විවිධ programming languages සහ applications සඳහා විවිධ frameworks තියෙනවා.

Framework

සාමාන්‍ය භාවිතය

Django

Python web applications

Laravel

PHP web applications

Angular

Web applications

Spring Boot

Java backend applications

Next.js

Full-stack React applications

Flutter

Cross-platform applications

උදාහරණයක් විදිහට Python භාවිතා කරලා web application එකක් හදනවා නම්, Django වලින් application එකේ development structure එක සහ අවශ්‍ය tools ගොඩක් ලබාගන්න පුළුවන්.

PHP application එකක් හදනවා නම් Laravel වලින් ඒ වගේම development foundation එකක් ලබාදෙනවා.


Framework එකක් සහ Library එකක් අතර වෙනස

Beginners ලාට මේ දෙක ගොඩක් වෙලාවට confusing.

Library සහ Framework කියන්නේ එකම දෙයක් නෙවෙයි.

ප්‍රධාන වෙනස තමයි application එකේ flow එක control කරන්නේ කවුද? කියන එක.

Library

Library එකකදී සාමාන්‍යයෙන් ඔයාගේ application එක library එක call කරනවා.

Your application
       ↓
    calls
       ↓
    Library

ඔයාට අවශ්‍ය වෙලාවට library එකේ functionality එකක් call කරලා, වැඩේ ඉවර වුණාම application එකේ flow එක continue කරන්න පුළුවන්.

Framework

Framework එකකදී framework එක application එකේ overall flow එක control කරලා, අවශ්‍ය අවස්ථාවලදී ඔයාගේ code එක call කරනවා.

    Framework
        ↓
Controls application flow
        ↓
    Your Code

මේ concept එක Inversion of Control කියලත් හඳුන්වනවා.

ඒ technical term එක නම් මතක තියාගන්න අවශ්‍ය නැහැ.

මේ අදහස විතරක් මතක තියාගන්න:

Library එකක් ඔයා (Developer) call කරනවා. Framework එකක් බොහෝවිට ඔයාගේ code එක call කරනවා.


ඔයා මොනවාහරි Cook කරනවා කියලා හිතමු.

Library එකක් නම්,

ඔයාට ඔයාගේම kitchen එකක් සහ cooking process එකක් තියෙනවා.

ඔයාට blender එකක් අවශ්‍ය වුණොත්:

මට blender එක ඕන.

Blender එක අරගෙන අවශ්‍ය වැඩේ කරලා, ආයෙත් ඔයාගේ cooking process එක continue කරනවා.

මෙතන process එක control කරන්නේ ඔයා.

Framework එකක් නම්,

දැන් හිතන්න ඔයා professional kitchen එකකට ගියා කියලා.

එතන:

  • Kitchen layout එකක් තියෙනවා

  • Equipment තියෙනවා

  • Workstations තියෙනවා

  • Rules තියෙනවා

  • Specific workflow එකක් තියෙනවා

ඔයාට තවමත් කෑම එක හදන්න පුළුවන්.

නමුත් ඔයා වැඩ කරන්නේ දැනටමත් ලබාදීලා තියෙන structure එක ඇතුළත.

Framework එකකට මේක තරමක් සමානයි.


Developers ලා Frameworks භාවිතා කරන්නේ ඇයි?

ප්‍රධාන හේතුවක් තමයි development වේගවත් කිරීම.

Large application එකක් සම්පූර්ණයෙන්ම scratch එකෙන් develop කරනවා කියලා හිතන්න.

බොහෝ applications වලට අවශ්‍ය වෙන common functionality නැවත නැවත develop කරන්න සිදුවෙනවා.

Framework එකක් ඒ basic foundation එකෙන් විශාල කොටසක් ලබාදෙන නිසා, developerට application එකේ unique features develop කිරන්න වැඩි අවධානයක් යොමු කරන්න පුළුවන්.

උදාහරණයක් විදිහට:

User Registration
       ↓
Login System
       ↓
Dashboard
       ↓
Products
       ↓
Payments

වගේ application එකක් develop කරද්දී framework එක application එකේ underlying structure එක handle කරන්න උදව් කරනවා.


Framework එක හැම දෙයක්ම කරලා දෙනවද?

නැහැ.

මේක beginners ලාට වැදගත් misconception එකක්.

Framework එකක් භාවිතා කළා කියලා programming දැනුම අවශ්‍ය නැහැ කියන්න පුලුවන් කමක් නෑ.

ඊට අමතරව ඔයාට මේ දේවල් ගැනත් අවබෝධයක් තියෙන්න අවශ්‍යයි:

  • Programming

  • Data structures

  • Databases

  • APIs

  • Security

  • Application architecture

  • Framework එකේ concepts

Framework එක කියන්නේ tool එකක්, programming knowledge එක වෙනුවට භාවිතා කළ හැකි දෙයක් නෙවෙයි.

මේක power drill එකකට සමාන කරන්න පුළුවන්.

Power drill එකක් construction වැඩ ලේසි කරනවා. හැබැයි කොහෙද drill කරන්න ඕන, කොහොමද භාවිතා කරන්න ඕන කියලා ඔයාට හරියට දැනගන්න වෙනවා.


Framework එකක්ද, Library එකක්ද?

තවත් වැදගත් point එකක්.

Developers ලා සාමාන්‍ය conversation එකේ development tools ගොඩක් "frameworks" කියලා හඳුන්වනවා. නමුත් technicaly ඒවා හැම එකක්ම framework නොවෙන්න පුළුවන්.

උදාහරණයක් විදිහට React, framework එකක් කියලා කිව්වත්, officially හදුන්වන්නෙ user interfaces build කිරීමට භාවිතා කරන JavaScript library එකක් විදිහට.

අනෙක් අතට Next.js, React මත additional application-level features ලබාදෙන framework එකක් ලෙස භාවිතා වෙනවා.

ඒ නිසා මේ labels ගැන confuse වෙනවාට වඩා, tool එක application එකට උදව් කරන්නේ කොහොමද කියන concept එක තේරුම් ගැනීම වඩා වැදගත්.


ඉතින් අන්තිමට බැලුවොත් Framework එකක් කියන්නේ software application එකක් build කිරීමට developers ලාට ලබාදෙන ready-made foundation එකක්.

හිස් project එකකින් හැම දෙයක්ම මුල සිටම හදනවා වෙනුවට, framework එකෙන් ලබාදෙන:

  • Structure

  • Tools

  • Rules

  • Common functionality

භාවිතා කරලා application එක develop කරන්න පුළුවන්.

සරලව මතක තියාගන්න:

Library එකක් කියන්නේ ඔයා භාවිතා කරන tool එකක්. Framework එකක් කියන්නේ ඔයා application එක build කරන structure එකක්.

මේ concept එක තේරුම් ගත්තට පස්සේ Django, Laravel, Angular, Spring Boot, Next.js වගේ නම් අහනකොට ඒවාගේ purpose එක තේරුම් ගන්න ගොඩක් ලේසි වෙනවා.

Tags:CodingProgrammingFrameworksDeveloper ToolsLibrariesSoftware DevelopmentWeb DevelopmentBeginner Guide

Did you find this article helpful?

Related Articles

View Post
Azure වලින් මොනවද කරන්න පුළුවන්?
Cloud Computing
October 7, 2026

Azure වලින් මොනවද කරන්න පුළුවන්?

Microsoft Azure කියන්නේ විවිධ විදිහෙ දේවල් ගොඩක් කරන්න පුලුවන් cloud platform එකක්.

View Post
මොනවද මේ Linux Shell වර්ග?
DevOpsFeatured
October 2, 2026

මොනවද මේ Linux Shell වර්ග?

Linux වල තියෙන Bash, Zsh, Fish, Dash වගේ Shells අතර වෙනස්කම්

View Post
Flutter සහ React Native
Programming
September 24, 2026

Flutter සහ React Native

Mobile App Development එකට හොද මොකක්ද?

ThishVerse Logo
THISHVERSE
|

© 2026 ThishVerse. All rights reserved.

PrivacyTerms
|By Thish
Comments (0)

Sign in to join the conversation

No comments yet. Be the first to comment!