An ELI5 would require an entire chapter to cover the basics. I'm going to assume you understand certain concepts. If the explanation is still confusing, ask, and I'll post a more detailed response.

**ELI20:** A framework is like an operating system. It provides libraries, as well as resource management and code architecture.


[Django](_URL_1_) is a Python framework for creating web applications. [wxPython](_URL_3_) is a Python framework for creating desktop GUI applications. Let's look at both of them.


## Libraries
A library is like a small mini program that does something specific. Just like a Firefox add-on, except in source code form. You use this functionality to do stuff within your own application. So having access to a library allows you to implement features without having to code that functionality yourself.


For example Django provides [sitemaps](_URL_2_) and [geolocation](_URL_5_). So if you used Django, you don't need to write your own sitemap module. You simply use the one provided by Django.


wxPython provides [wxODBC](_URL_0_) and [wxSound](_URL_4_). Both of these are tremendously useful when writing database frontends. 


## Resource Management

The most basic webapp needs a database to store data and session management to keep track of all the people connected to your webapp. 


Django provides a means to link your Python classes to your database, so the data from the database is automatically read/written to the class variables. This is called an an ORM (Object Relational Mapper). Without it you would need to write CRUD code to read/write/delete information in the database. 


So in effect it makes your app a lot simpler. The downside is that you have to do things the Django way. Create classes, variables, and structures that Django needs to provide all these features. this brings me to the final point which is Architecture


## Architecture

Web frameworks, including Django, structure code using the Model-View-Controller design pattern. Django implements a hybrid version of MVC with templates. So if you used Django, your program would also have to be organized along MVC lines.
ELI5 සඳහා මූලික කරුණු ආවරණය කිරීමට සම්පූර්ණ පරිච්ඡේදයක් අවශ්‍ය වේ. ඔබ යම් යම් සංකල්ප තේරුම් ගෙන ඇතැයි මම උපකල්පනය කරමි. පැහැදිලි කිරීම තවමත් අවුල් සහගත නම්, අසන්න, මම වඩාත් සවිස්තරාත්මක ප්‍රතිචාරයක් පළ කරමි. **ELI20:** රාමුවක් යනු මෙහෙයුම් පද්ධතියක් වැනිය. එය පුස්තකාල, මෙන්ම සම්පත් කළමනාකරණය සහ කේත ගෘහ නිර්මාණ ශිල්පය සපයයි. [Django](_URL_1_) යනු වෙබ් යෙදුම් නිර්මාණය කිරීම සඳහා වන පයිතන් රාමුවකි. [wxPython](_URL_3_) යනු ඩෙස්ක්ටොප් GUI යෙදුම් සෑදීම සඳහා වන පයිතන් රාමුවකි. අපි ඒ දෙකම බලමු. ## පුස්තකාල පුස්තකාලයක් යනු නිශ්චිත යමක් කරන කුඩා කුඩා වැඩසටහනක් වැනිය. ෆයර්ෆොක්ස් ඇඩෝනයක් මෙන්, මූලාශ්‍ර කේත ආකාරයෙන් හැර. ඔබ ඔබේම යෙදුම තුළ දේවල් කිරීමට මෙම ක්‍රියාකාරීත්වය භාවිතා කරයි. එබැවින් පුස්තකාලයකට ප්‍රවේශ වීම ඔබට එම ක්‍රියාකාරීත්වය ඔබම කේතනය නොකර විශේෂාංග ක්‍රියාත්මක කිරීමට ඉඩ සලසයි. උදාහරණයක් ලෙස, ජැන්ගෝ [අඩවි සිතියම්](_URL_2_) සහ [භූ පිහිටීම](_URL_5_) සපයයි. එබැවින් ඔබ ජැන්ගෝ භාවිතා කළේ නම්, ඔබට ඔබේම අඩවි සිතියම් මොඩියුලය ලිවීමට අවශ්‍ය නොවේ. ඔබ හුදෙක් Django විසින් සපයන ලද එකක් භාවිතා කරන්න. wxPython [wxODBC](_URL_0_) සහ [wxSound](_URL_4_) සපයයි. දත්ත සමුදායේ ඉදිරිපස ලිවීමේදී මේ දෙකම අතිශයින් ප්‍රයෝජනවත් වේ. ## සම්පත් කළමනාකරණය ඔබගේ වෙබ් යෙදුමට සම්බන්ධ සියලුම පුද්ගලයින් පිළිබඳව සොයා බැලීමට දත්ත ගබඩා කිරීමට සහ සැසි කළමනාකරණයට වඩාත්ම මූලික වෙබ් යෙදුමට දත්ත සමුදායක් අවශ්‍ය වේ. ඔබේ පයිතන් පන්ති ඔබේ දත්ත ගබඩාවට සම්බන්ධ කිරීමට ජැන්ගෝ මාධ්‍යයක් සපයයි, එබැවින් දත්ත සමුදායේ දත්ත ස්වයංක්‍රීයව පන්ති විචල්‍යයන් වෙත කියවීම/ලිවීම සිදුවේ. මෙය ORM (Object Relational Mapper) ලෙස හැඳින්වේ. එය නොමැතිව දත්ත සමුදායේ තොරතුරු කියවීමට/ලිවීමට/මැකීමට ඔබට CRUD කේතයක් ලිවීමට අවශ්‍ය වනු ඇත. එබැවින් එය ඔබගේ යෙදුම බෙහෙවින් සරල කරයි. අවාසිය නම්, ඔබ ජැන්ගෝ ආකාරයෙන් දේවල් කළ යුතුය. මෙම සියලු විශේෂාංග සැපයීමට Django හට අවශ්‍ය වන පන්ති, විචල්‍යයන් සහ ව්‍යුහයන් සාදන්න. මෙය මාව අවසාන කරුණ වෙත ගෙන එයි, එනම් ආකිටෙක්චර් ## ආකිටෙක්චර් වෙබ් රාමු, ජැන්ගෝ ඇතුළුව, ආදර්ශ-දර්ශන-පාලක සැලසුම් රටාව භාවිතයෙන් ව්‍යුහ කේතය. Django විසින් සැකිලි සහිත MVC හි දෙමුහුන් අනුවාදයක් ක්‍රියාත්මක කරයි. එබැවින් ඔබ ජැන්ගෝ භාවිතා කළේ නම්, ඔබේ වැඩසටහන ද MVC රේඛා ඔස්සේ සංවිධානය කළ යුතුය.