डॉट नेट फ्रेमवर्क
डॉट नेट फ्रेमवर्क हा शब्द अनेकदा कानावर पडतो. हे नेमकं काय आहे, कसं काम करतं याचा थोडा उहापोह करण्याचा इथे मी प्रयत्न करणार आहे.
डॉट नेट फ्रेमवर्क म्हणजे नेमकं काय?
फ्रेमवर्क म्हणजे अनेक components चा जसं libraries, dlls, functions, classes इ. यांचा एकत्रित संच. ह्यामुळे कोणतेही application करणे सुसह्य होते. हे सर्व एकत्र करून जर एका ठिकाणी आपल्याला दिले, तर आपल्याला हव्या त्या गोष्टी वापरून आपण आपल्याला हवे ते application बनवू शकतो.
मायक्रोसॉफ्टने उपलब्ध करून दिलेले हे डॉट नेट फ्रेमवर्क वापरून आपल्याला अनेक भाषांमधून code करणे सहज शक्य होते. जसं VB.Net / C#.Net/ J#.Net/ ASP.Net आहे ना ही interesting गोष्ट? याचे फायदे असे की, एक तर आपण या अनेक भाषा वापरू शकतो आणि दुसरं म्हणजे त्या एकाच platform वर चालू शकतात. प्रत्येक भाषेसाठी वेगळे काही install करायची गरज नाही.
आता अगदी स्वाभाविक प्रश्न असा येतो की, ही सारे कसे काय शक्य आहे?
याचे उत्तर आहे architecture. त्याची बांधणी.
हे चित्र येथून घेतले आहे. here
वरील चित्रात दाखविल्याप्रमाणे, आपला code कंपाईल होऊन पुढील प्रक्रियेसाठी Common Language Infrastructure येथे जातो.
Common Language Infrastructure हे CIL (Common Intermediate Language) आणि CLR (Common Language Runtime) यांनी बनलेले आहे.
CIL(Common Intermediate Language): CIL चे काम म्हणजे .Net ने दिलेल्या कोणत्याही भाषेतील कोड एका विशिष्ट भाषेत म्हणजे Common Intermediate Language मधे रूपांतरीत करणे असे आहे. म्हणजे नेमके काय? तर उदा. जर आपण C#.Net मधे Double हा Data Type उपलब्ध आहे तर VB.Net मधे Decimal उपलब्ध आहे. असे निरनिराळे Data Types, functions आणि procedures ह्या .Net framework ने उपलब्ध केलेल्या सर्वच भाषांमधे उपलब्ध आहेत. ह्या निरनिराळ्या Data Types/ Functions/ Procedures चा अर्थ किंवा व्याख्या ह्या कुठेतरी सामायिक भाषेमधे असणे वा रूपांतरीत करणे अत्यावश्यक आहे. तरच आपण निरनिराळ्या भाषा एकच framework वापरून compile करू शकतो. हे रूपांतरणाचे कार्य CIL द्वारे केले जाते.
CLR: Common Language Runtime चे कार्य म्हणजे CLI चे रूपांतर machine readable language मधे करणे. प्रत्येक कोड हा शेवटी Binary मधे रूपांरतीत होतो. तर हे रूपांतरण करण्याचे कार्य CLR द्वारा केले जाते.
तर या काही मूळ गोष्टी आहेत ज्या डॉट नेट फ्रेमवर्कमधे समाविष्ट आहेत.