Theory
Mehta Stores માટે billing app
નાના Surat storekeeper ને એ જોઈએ છે જે દરેક shop ને જોઈએ છે: item પર click કરો, quantity type કરો, bill print કરો, save કરો. Windows desktop app.
આ semester તમે exactly એ build કરો છો: ShopKeeper, billing application real buttons, grids અને database સાથે.
તમે તેને Visual Basic .NET માં લખશો. પણ first line પહેલા, નીચે ની machine પર એક lesson: exactly શું છે આ ".NET Framework" જે તમારું code તેની અંદર live થશે?
Theory
engine અને parts shop
.NET ને car factory તરીકે think કરો જે તમને 2 things આપે છે.
એક engine: CLR (Common Language Runtime), જે actually ચલાવે છે જે કંઈ તમે build કરો, તેની memory અને safety ને manage કરતા તે run થાય ત્યારે.
અને parts shop: class library (FCL), હજારો pre-built components (buttons, file readers, database connectors) એટલે તમે assemble કરો instead of દરેક screw ને forging કરવા.
દરેક .NET program એ shop ના parts છે, engine પર running.
Theory
.NET Framework, ઔપચારિક રીતે
.NET Framework એ Microsoft નો platform છે Windows પર applications ને build અને run કરવા માટે. તેના 2 pillars:
- CLR (Common Language Runtime): execution engine. તમારું compiled code તેની supervision નીચે runs કરે છે: memory, security, exceptions.
- .NET Framework Class Library (FCL): huge, organised collection ready-made classes ની UI, files, network, data માટે.
exam માટે એક sentence: .NET = CLR + class library, managed environment જ્યાં many languages માં લખાયેલા programs shared components પર build થાય છે અને એક runtime નીચે run થાય છે.
Theory
Many languages, એક runtime
અહીં .NET નો famous trick છે: VB.NET, C#, F# અને more બધા same intermediate language માં compile થાય છે અને same CLR પર run થાય છે.
બે agreements એને possible બનાવે છે:
- CTS (Common Type System): all languages એક set of types ને share કરે છે; VB.NET Integer અને C# int એ SAME underlying type છે
- CLS (Common Language Specification): rules જે language follow કરે છે એટલે તેનું code કોઈ પણ other .NET language થી use થઈ શકે
એટલે C# team તમારા VB.NET ShopKeeper દ્વારા define કરાયેલા classes ને use કરી શકે છે, unchanged.
Quiz
.NET Framework ના 2 main components શું છે?
- CLR અને .NET Framework Class Library
- Visual Studio અને Visual Basic
- MSIL અને metadata
- Windows Forms અને ADO.NET
Show the answer
CLR અને .NET Framework Class Library
Engine plus parts shop: CLR managed code ને execute કરે છે, class library building blocks ને supply કરે છે; તે pair IS framework છે. Visual Studio (option B) એ IDE છે જેમાં તમે work કરો છો, tool છે, framework નો part નહીં. MSIL અને metadata (option C) એ છે જેમાં તમારું code compile થાય છે, next lesson નો subject. Windows Forms અને ADO.NET (option D) એ class library ની અંદર 2 sections છે, parts છે, pillars નહીં.
Think first
તમે આ movie ને seen છે
last semester નો subject weeks ago ended થયો, પણ think કરો: તમે ક્યાં already pattern ને meet કર્યો છે "compile to an intermediate form, run on a managing engine"? અને ત્યાં તેના names શું હતા?
Show the answer
BCA403 નું Java: source ને javac દ્વારા bytecode માં compile કરવામાં આવ્યું, JVM દ્વારા execute કરવામાં આવ્યું. .NET એ same architecture છે Microsoft થી: source ને MSIL માં compile કરવામાં આવે છે, CLR દ્વારા execute કરવામાં આવે છે. એક honest difference યાદ રાખવા: Java નું promise હતું એક language many operating systems પર; classic .NET નું promise હતું many languages એક OS (Windows) પર. mapping ને carry કરો javac થી vbc, bytecode થી MSIL, JVM થી CLR આ આખા unit માં અને તે revision જેવું feel થશે.
Watch out
things ને precisely name કરો
ત્રણ mix-ups આ unit માં marks cost કરે છે:
.NET language નથી: તે platform છે; VB.NET અને C# તેના પર languages છે.
Visual Studio .NET નથી: તે editor/IDE છે; programs .NET પર run થાય છે even machines પર જેના પર કોઈ Visual Studio installed નથી.
VB.NET જૂનું VB નથી: તે fully object-oriented .NET language છે; answers જે VB6 style માં લખાયેલા છે (no classes, no CLR) તમારા paper ને badly date કરે છે.
Theory
જ્યાં ShopKeeper fit થાય છે
semester ને map કરો 2 pillars પર હવે: Units 1 અને 2 engine અને language વિશે છે જે તે run કરે છે; Unit 3 parts shop ની UI shelf (Windows Forms controls) ને raid કરે છે ShopKeeper ની actual billing screen ને build કરવા; Unit 4 તમારા own parts ને make કરે છે (Item અને Bill classes); Unit 5 data shelf (ADO.NET) ને use કરે છે bills ને save કરવા. દરેક unit એ either engine છે અથવા parts shop; nothing else exists.
Summary
Key takeaways
- .NET Framework = CLR (execution engine) + .NET Framework Class Library (ready-made parts).
- Many languages (VB.NET, C#, F#) એક intermediate language માં compile થાય છે અને એક runtime ને share કરે છે.
- CTS all .NET languages ને એક common type system આપે છે; CLS interoperability rules આપે છે.
- .NET એ platform છે, language નહીં; Visual Studio એ IDE છે, framework નહીં.
- આ subject ની language Visual Basic .NET છે; semester project એ ShopKeeper billing app છે.
- Architecture Java ને mirror કરે છે: source થી intermediate code થી managing runtime.
- Memory hook: એક engine, એક parts shop, many languages.