अगर आप एक software developer हैं तो आप Software, Website या mobile application develop करने के लिए framework का इस्तेमाल करते होंगे और अगर आप beginner हैं तो आपको बता दें की Software development करने के लिए आपको framework का इस्तेमाल करना चाहिए| यह एक ऐसा tool है जो की बहुत सारे features provide करता है जिससे development task easy हो जाता है|आज के इस tutorial में हम सीखेंगे की Framework क्या होता है? Framework और Library में क्या difference होता है?
अगर आप कभी भी software developer के लिए interview देने गये होंगे तो आपसे ये जरुर पूछा गया होगा की आपको कौन कौन से framework की knowledge हैं और यदि आप कॉलेज student होंगे तो शायद ही आपको पता होगा की ये framework क्या होता है? चलिए आज के इस tutorial हम इसी topic के बारे में बात करेंगे|
Framework क्या होता है?
Framework दो शब्दों से मिलकर बना है| Frame + Work मतलब की एक ऐसा frame जिसके अन्दर कुछ काम किया जा सके या कुछ process किया जा सके उसे framework कहा जाता है यह हमारे task को easy कर देता है| जैसे मान लीजिये आपके पास एक फोटो frame है तो आप उसमें उसी size का फोटो लगा सकते हैं जिस size का frame है उससे छोटा भी फोटो लगा सकते हैं लेकिन उससे बड़ा फोटो उसमें नहीं लगेगा that means उसमें पहले से design pattern बना हुआ है उसी के हिसाब से आपको काम करना है|
यह एक software designing tool होता है जो की बहुत सारे experienced developers के द्वारा बनाया गया होता है| इसका उपयोग software application, web application और मोबाइल application develop करने के लिए किया जाता है क्योंकि इसके मदद से हम बहुत ही तेजी से किसी भी application को develop कर सकते हैं| इसमें कई सारी functionalities पहले से define की हुयी होती है जिससे हमारा task easy हो जाता है|
कोई भी framework एक Designing pattern पर काम करता है जैसे की CodeIgniter 3 MVC (Model, View, Controller) pattern पर काम करता है|
आसान शब्दों में समझें तो यह एक frame होता है जिसमें हम अपने code को उसके structure के अनुसार लिखते हैं और application develop करते हैं| जिस प्रकार एक मूर्तिकार के पास मूर्ति बनाने के लिए एक बना बनाया हुआ frame होता है जिसमें वह मिट्टी डालता है और मूर्ति तैयार हो जाता है| इससे उस मूर्तिकार को यह फायदा होता है की मूर्ति बहुत कम समय में बहुत ज्यादा सुन्दर बनता है|
Software application develop करना बहुत ही time consuming और complex process है और framework उस complex process को और भी आसान बना देता है|
Framework में पहले से बहुत सारे functionality बनाये हुए होते हैं जिससे हमें application develop करने में बहुत कम समय लगता है जैसे की database connection के लिए उसमें एक जगह code लिखा हुआ होता है जिसमें हमें केवल database का नाम, user, password etc. set करना होता है इससे ये होता है की हमें किसी भी प्रकार के database का connection बनाने के लिए ज्यादा सोचना नहीं पड़ता है|
Framework क्यों use किया जाता है?
अब हर beginners के मन में एक सवाल आता है की framework का इस्तेमाल क्यों करते हैं आखिर इससे फायदा क्या होता है? तो चलिए जानते हैं इसके कुछ फायदे के बारे में:
Framework में ऐसे कई सारे features होते हैं जिसके कारण कोई भी कंपनी web application, software application और mobile application बनाने के लिए इसका इस्तेमाल करते हैं| जैसे मैंने ऊपर में example दिया था मूर्तिकार का, वह मूर्तिकार बिना किसी frame के भी मूर्ति बना सकता था लेकिन उसमें बहुत सारी परेशानियाँ सामने आती जैसे की मूर्ति के design बनाना इत्यादि| अगर वह frame का इस्तेमाल करता है तो वह साधारण सा मिट्टी उसमें डालेगा और उस पर कुछ process करेगा मूर्ति तैयार उसमें हाथ पैर बनाने का ज्यादा समस्या नहीं है|
ठीक उसी प्रकार जब हम software बनाते हैं तो उसमें ऐसे कई सारे ऐसे features हमें चाहिए होते हैं जिसे खुद से बनाना थोडा complex होता है जैसे की security features| हर application में security features सबसे महत्वपूर्ण होता है|
Framework इस्तेमाल करने के कुछ फायदे निचे दिए गए हैं:
- इसमें security features पहले से बनाये हुए होते हैं जिसके कारण application ज्यादा secure होता है और हमें अलग से ज्यादा security की चिंता करने की जरुरत नहीं होती है|
- बहुत सारे features के library, helpers, controllers पहले से मौजूद होते हैं जो की software development task को easy बनाते हैं जैसे की URL को SEO friendly बनाना|
- इसमें सभी task के लिए अलग अलग sections बनाये हुए होते हैं जिसके कारण code लिखना और समझना बहुत आसान होता है|
Library और Framework में क्या difference है?
अधिकांश लोग यह समझते हैं की Framework बहुत सारे libraries का collection होता है जबकि यह सत्य नहीं है क्योंकि हर Framework केवल library से मिलकर नहीं बना होता है उसे बनाने के लिए helpers, hooks, controllers etc. लगते हैं| चलिए जानते हैं की असल difference क्या है इन दोनों में|
Library pre-compiled routines का collection होता है that means एक library बहुत सारे functions, variables, parameters (जो की पहले से compile और test किये गए हो) से मिलकर के बना होता है| जबकि एक Framework बहुत सारे libraries, hooks, helpers, controllers, models, etc. से मिलकर बने होते हैं|
Library के functions को हमारे code के द्वारा कॉल किया जाता है जहाँ पर हमारा code caller कहलाता है और library के function callee कहलाता है| इस process को “In Control” कहा जाता है that means हमें जब भी जैसे भी जरुरत पड़े हम library के function को कॉल कर सकते हैं| जबकि Framework के code हमारे code को कॉल करता है न की हमारे code framework के code को,और यहाँ पर पूरा process उल्टा हो जाता है| जिसके कारण इसे “Inverse of Control (IoC)” कहा जाता है|
चलिए एक real life example से समझते हैं| एक विद्यार्थी (Student) जब अपने घर में रह रहा है तो वह अपने Books, Bags किसी भी प्रकार से कहीं भी रख सकता है लेकिन जब वह स्कूल जाता है तो वहां पर एक proper way में Books, bags रखने होते हैं|
ठीक उसी प्रकार अगर आप खुद की library create करते हैं तो आप उसे कहीं पर भी रख सकते हैं और उसमें किसी भी प्रकार से function बना सकते हैं और कॉल कर सकते हैं लेकिन जब आप framework में code लिखते हैं तो वहां पर कुछ rules होते हैं उस रूल को follow करके ही आपको code लिखने होते हैं|
Types of Framework – Framework के प्रकार
अलग अलग हिसाब से framework अलग अलग प्रकार के होते हैं लेकिन हम यहाँ software development की बात करें तो framework निम्नलिखित प्रकार के होते हैं जैसे की :
- Web application framework
- Data Science Framework
- Mobile application framework
Web application framework
Web application framework का इस्तेमाल website development में किया जाता है| इसमें अलग अलग language में अलग अलग framework होते हैं जैसे की:
- CodeIgniter (PHP)
- Laravel (PHP)
- CakePHP (PHP)
- Django (PHP)
- Angular (typescript)
Data Science Framework
इसका इस्तेमाल machine learning के क्षेत्र में किया जाता है that means Artificial machine बनाने के क्षेत्र में किया जाता है| Artificial machines वैसे machines होते हैं जो की human के द्वारा बनाये गये होते हैं जैसे की Robots: इसमें निम्न प्रकार के framework होते हैं जिसमें की कुछ framework के list यहाँ दिए गये हैं|
- Apache Spark
- PyTorch
Mobile Application Framework
आज के दिन में मोबाइल users सबसे ज्यादा हो चुके हैं जिससे की mobile application की डिमांड बढ़ गयी है और साथ ही साथ mobile application developer की demand भी बढ़ गयी है| Mobile application develop करने के लिए बहुत सारे framework हैं और बहुत सारे नए नए framework develop भी हो रहे हैं| यहाँ पर कुछ framework के list दिए गये हैं|
- Native Script
- React Native
- Ionic
- Xamarin
- Flutter
Read also this topic in English: What is framework?
Conclusion
एक developer के रूप में हम हमेशा ऐसा चाहते हैं की complex application development को easy बनाया जाये जिससे अधिकांश लोग application develop कर सकें और सारे features उनको आसानी से मिल सके| इसके लिए हमें अलग अलग प्रकार के framework मिलते हैं जिससे हम अपने complex application development process को और भी आसान बना सकें|
इस tutorial में मैंने Framework क्या होता है? Library और Framework में क्या difference है और Type of framework के बारे में बताया है| इस tutorial को अगर आप और भी improve करना चाहते हैं तो आप निचे दिए गए comment box के द्वारा हमें information पहुंचा सकते हैं|
vijay says
nice turorial
sneha Biswas Chakraborty says
hello sir , mai mtech ki hui hu computer science se but 10 years ho gae hai technical chhode mai fir se a to z computer engineering sikhna chah rai hu jaise ki apne framework bahut easy tarike se batae hai mujhe vaise sikhna hai achhe se deeply, kya ap meri help kar sakte hai. with example jaise ki developer kaise use karte hai. sari chije
please help me, apka samjhane ka tarika bahut achha hai. really like it
SUMIT KUMAR GUPTA says
Mai aapki personally to help nahi kr skta bcz mere pas utna time nhi mil pata h but aap online tutorials se khas kr YouTube se sikh skti hai