මොකක්ද මේ .NET කියන්නේ?

December 10, 2021 | Sanjana Wijenayaka

.NET යනු Microsoft ආයතනය විසිත් සම්පාදිත විවිධ ආකාරයේ applications තැනීම සඳහා free, cross-platform, open source developer platform එකකි. .NET මගින් විවිධ languages, editors, හා libraries භාවිතා කර web, mobile, desktop, games, and IoT යන ක්ෂේත්‍රයන්ට අදාල නිමැවිම් කල හැකිය.

Languages

.NET applications නිර්මානය කිරීම සදහා අපට C#, F#, or Visual Basic යන programming languages භාවිතා කල හැක.

Cross Platform

අපි ඉහත දැක්වූ C#, F#, or Visual Basic යන programming languages ඕනම එකකින් ගොඩනගන application එකක් Windows, Linux, macOS යන operating systems වල හා Android , iOS , Windows යන mobile operating systems වලද පහසුවෙන් ක්‍රියාත්මක කල හැක .

Libraries and APIs

.NET තුල නිතර අවශය වන යෙදුම් අප නැවත මුල සිට නිර්මාණය කල යුතු නැත. එය දැනටමත් නිර්මාණය කර ඇති අතර එය අපගේ application එක තුල භාවිතයට ගත හැක.එලෙස අවශ්‍ය වන යෙදුම් packages ලෙස හදුන්වයි. NuGet යනු packages 90,000 කට ආසන්න ප්‍රමාණයක් සහිත package manager එකකි.

.NET භාවිතයෙන් සාදාගත හැකි Application models.

මෙහිදී .NET භාවිතයෙන් අපට විවිධ ආකාරයේ applications සාදා ගැනීමට ඉඩකඩ ලබා දී ඇත. ප්‍රධාන වශයෙන්,

Web

Static / Dynamic websites , web applications සාදාගත හැක. මීට අදාලව ඇති platform එක ASP.NET ලෙස හදුන්වයි.

Mobile

iOS , Android , Windows යන mobile operating system වලට අදාලව Apps සාදාගත හැක. මීට අදාලව ඇති platform එක Xamarin ලෙස හදුන්වයි.

Desktop

Windows හා macOS සදහා අවශ්‍ය Applications සාදාගත හැක

Cloud

Cloud base applications සම්බන්ද සියලු සේවාවන් ලබාගත හැක.

Machine Learning

Machine learning සම්බන්දවන සේවා , applications සාදාගත හැක. මීට අදාලව ඇති platform එක ML.NET ලෙස හදුන්වයි.

Game

PC, Mac, Consoles, Mobile, සහ VR/AR සදහා ක්‍රීඩා නිර්මානය කල හැක. ඒ සදහා ප්‍රදාන වශයෙන් Unity game engine එක භාවිතා කරයි.

Internet of Things

C# භාවිතයෙන් Raspberry Pi, HummingBoard, BeagleBoard, Pine A64 ආදී වන IoT උපාංග වලට සරිලන පරිදි අවශ්‍ය applications සාදාගත හැක.


ඉහත සාරාංශ කර දැක්වු සියලු Application Models වලට අදාලව වෙන වෙනම packages, libraries , tools හා අති විශාල developer community එකක් ඇත. මෙහි තවත් වාසියක් වන්නේ .NET ඉගෙනගැනීම සහ භාවිතය අනෙක් ඒවාට වඩා පහසු වීමයි. තවද අපට අවශ්‍ය ඕනෑම ආකාරයක application එකක් සාදාගත හැකි වීමත්ය.

.NET Tools and Editors

Visual Studio

Visual Studio Code

Visual Studio for macOS

OmniSharp

JetBrains Rider

.NET CLI

.NET සහ .NET Framework ?

.NET යනු විවිධ ආකාරයේ යෙදුම් තැනීම සඳහා tools, programming languages සහ libraries වලින් සැදුම් ලත් developer platform එකකි. .NET Framework යනු .NET හි මුල් ක්‍රියාත්මක කිරීමයි. එය Windows මත ධාවනය වන websites, services, desktop apps සහ තවත් දේ සඳහා සහය දක්වයි. .NET යනු Windows, Linux, සහ macOS මත websites, services, and console apps ධාවනය කිරීම සඳහා හරස් වේදිකා ක්‍රියාත්මක කිරීමකි. .NET මුලින් හැදින්වූයේ .NET Core ලෙසයි..NET හි implementation කිගිපයක්ම පවතිනවා. ඒ ඒ implementation එක මගින් .NET application එක Linux, macOS, Windows, iOS, Android, වැනි විවිධ මෙහෙයුම් පද්ධති මත run කිරිමට අවශ්‍ය පරිසරය සාදාදෙනු ලබයි.

.NET Framework - Windows මෙහෙයුම් පද්ධතිය සදහා

.NET - Windows, Linux, සහmacOS මෙහෙයුම් පද්ධති සදහා

Xamarin/Mono - iOS and Android මෙහෙයුම් පද්ධති සදහා

Architecture of .NET Framework

.NET Framework Architecture හි ප්‍රධාන කොටස් දෙක Common Language Runtime සහ .NET Framework Class Library වේ.


Common Language Runtime (CLR) යනු ධාවනය වන යෙදුම් හසුරුවන execution engine එකයි. එය thread management, garbage collection, type-safety, exception handling සහ තවත් බොහෝ සේවා සපයයි.

Class Library පොදු ක්‍රියාකාරීත්වය සඳහා API සහ common functionality කට්ටලයක් සපයයි. එය strings, dates, numbers ආදිය සඳහා වර්ග සපයයි. Class Library හි for reading and writing files, connecting to databases, drawing සදහා වන API සපයයි.


.NET යෙදුම් C#, F#, හෝ Visual Basic ක්‍රමලේඛන භාෂාවෙන් ලියා ඇත. යෙදුමට අදාල Code එක Common Intermediate Language (CIL) එකට compile කරනු ලබයි. එය ගබඩා කර තබන්නේ assemblies—files වන .dll or .exe file extension සහිත ගොනු තුලය.


යෙදුමක් ක්‍රියාත්මක වන විට, CLR මගින් assembly හා just-in-time compiler (JIT) භාවිතයෙන් එය ක්‍රියාත්මක වන පරිගණකයේ නිශ්චිත architecture එක මත ක්‍රියාත්මක කළ හැකි යන්ත්‍ර කේතයක් බවට පත් කිරීම සිදු කරයි.


සටහන - සංජන විජේනායක