फुलस्टॅक डेव्हलपर बनण्यासाठी काय येणे गरजेचे आहे?

फुल स्टॅक डेव्हलपमेंट म्हणजे काय? 

कुठल्याही वेब एप्लीकेशनचे दोन भाग असतात एक म्हणजे फ्रन्टएन्ड आणि दुसरा म्हणजे बॅकेंड.

ज्या डेव्हलपरला फ्रंटएन्ड पण डेव्हलप करता येते आणि त्याचबरोबर बॅकएन्ड पण डेव्हलप करता येते त्या डेव्हलपरला आपण फुल स्टॅक डेव्हलपर असे म्हणतो.

मग फ्रन्टएन्ड आहे तरी काय? 

जे आपल्याला वेबसाईट वरती समोर दिसत असत जसं की GMail लॉगिन पेज. त्याच्यावरती आपल्याला ईमेल टाकायचा असतो पासवर्ड टाकायचा असतो आणि एक लॉगिन बटन नंतर दाबायच असतं. 

तर हे जे काही युजरला समोर त्याच्या दिसत त्याला आपण फ्रंटएन्ड असं म्हणतो.

मग बॅकेन्ड म्हणजे काय? 

पण हा जो यूजरनेम आणि पासवर्ड टाकलेला आहे हा बरोबर आहे की नाही? 

हा युजर प्रत्यक्षात अस्तित्वात आहे की नाही?

त्याचा पासवर्ड त्याच्याशी मॅच होतोय का नाही?  

हे कुठे चेक होतं तर हे बॅकेन्ड मध्ये चेक होत.

जो डेटा फ्रन्टएन्ड वरती टाकलेला असतो तो ब्राउझर आपल्या सर्व्हरकडे पाठवतो जिथे सर्वर साइड प्रोग्रॅम लँग्वेज त्याच्यावरती काहीतरी प्रोसेस करते आणि डेटाबेस मधून माहिती मिळवते की हा ई-मेल आणि हा पासवर्ड मॅच होत आहे की नाही. 

हे ज्या ठिकाणी घडतं त्याला आपण बॅकेन्ड असं म्हणतो

HTML, CSS 

फ्रन्टएन्ड मध्ये सगळ्यात महत्त्वाचा जो भाग येतो तो म्हणजे एचटीएमएल आणि सीएसएस.

यामध्ये आपण वेबसाईटचे स्ट्रक्चर डिफाइन करतो की लोगो कुठे आहे मेनू कुठे आहे त्यानंतर खालचा स्लाईडर कुठे आहे त्यानंतर अजून काही तुमच्या वेब पेजवरच्या गोष्टी कुठे आहेत हे सगळे एसटीएमएलमध्ये सांगितलं जातं.

थोडक्यात एसटीएमएल हाडाचा सांगाडा आहे मग सीएसएस काय करतो तर सीएसएस ह्याच्यावरती कपडे चढवतो त्याच्यावरती शरीर चढवतो. म्हणजेच काय तर वेबसाईटला एक चांगला लुक देतात.

फॉन्ट कसा असला पाहिजेल कलर कुठला असला पाहिजे लोगोचा आकार किती असला पाहिजे ह्या ज्या सगळ्या दिसण्याच्या गोष्टी आहेत या सगळ्या सीएसएसमधून सांगितल्या जातात.

JavaScript आणि  JS Framework 

फ्रंट मधला पुढचा पार्ट मध्ये जावास्क्रिप्ट येते.

आता आपण एचटीएमएल आणि सीएसएस पाहिले ज्याच्यामध्ये हाडाचा सांगाडा HTML ने सांगितलं आणि सीएसएसने हे कसं दिसेल, हे सांगितलं.

पण आता त्या शरीराने हालचाल केली पाहिजे.

चाललं पाहिजे.

इकडे तिकडे गेलं पाहिजे.

बोललं पाहिजे.

तर हे जे इंटरॅक्शन्स असतात हे जावा स्क्रिप्ट मधून डिफाइन केले जातात.

पण गेल्या काही दशकांपासून जावास्क्रिप्ट चा वापर फक्त एवढाच राहिलेला नाहीये तर जावास्क्रिप्ट ही आता सर्व्हर साईडला पण वापरली जाते.

त्याशिवाय जावास्क्रिप्ट वरती काही फ्रेमवर्क पण तयार करण्यात आले आहेत जसे की रिऍक्ट आहे अँग्युलर आहे.

या फ्रेमवर्कमुळे फ्रन्टएन्ड डेव्हलप करणे अजून सुकर झालेले आहे त्यामुळे फ्रन्टएन्ड डेव्हलपर बनण्यासाठी तुम्हाला जसं की एचटीएमएल आणि सीएसएस आलं पाहिजे त्याच बरोबर तुम्हाला जावास्क्रिप्ट आणि जावास्क्रिप्टच एखाद फ्रेमवर्क येत असेल तर फारच उत्तम.

सर्वर साईड प्रोग्रामिंग 

आता बॅकेंडमध्ये सगळ्यात जो एक महत्त्वाचा भाग असतो तो म्हणजे सर्वर साईड प्रोग्रामिंग लँग्वेजेस. 

म्हणजे आपण फ्रन्टएन्ड वरनं जो डेटा पाठवला तो आता कुठल्यातरी लँग्वेजने प्रोसेस केला पाहिजे.

जसा की ब्राउझर युजरनेम आणि पासवर्ड सर्वर ला पाठवल पण ते वाचायचं कसे? कुठे वाचायचे? हे सगळं सर्वर साईड लँग्वेज ठरवते.  

अनेक सर्व्हर साईड प्रोग्रामिंग लँग्वेजेस आपल्याकडे उपलब्ध आहेत जसे की पीएचपी आहे पायथन आहे जावास्क्रिप्ट आहे म्हणजे थोडक्यात NodeJS आहे आहे आणि अशा बऱ्याच प्रोग्रामिंगच्या लँग्वेजेस सर्व्हर साईडला वापरण्यात येतात.

तुम्ही यातली कुठलीही एक प्रोग्रामिंग लँग्वेज शिकून शकता.

साधारणपणे सध्या जावास्क्रिप्ट सर्वर साईडला शिकण्याचा थोडा जास्त कल आहे कारण एकच लँग्वेज शिकून तुम्ही फ्रंटएन्ड आणि बॅकएन्ड दोन्ही गोष्टी साध्य करून शकता.

डेटाबेस 

त्यानंतर तुम्हाला अजून एक महत्त्वाची गोष्ट माहित पाहिजे ती म्हणजे डेटाबेस.

डेटाबेस मध्ये दोन प्रकारचे डेटाबेस आपल्याकडे उपलब्ध आहेत एक आहे SQL आणि एक आहे NoSQL.

SQL मध्ये Postegres, MySQL, MSSQL, Oracle वगैरे डाटाबेस येतात. तर NoSQL मध्ये MongoDB, CouchDB, CosmosDB सारखे डेटाबेस येतात.

तुमही कुठलाही एक डाटाबेस शिकून घेऊ शकता. यातील सर्वच डाटाबेस खूप वापरले जातात.

इतर स्किल्स 

याशिवाय तुम्हाला अजून काही गोष्टी माहित असणं गरजेचं आहे जसं की वर्जन कंट्रोल सिस्टीम ज्याला आपण Git म्हणतो त्यानंतर ऍक्च्युली एप्लीकेशन सर्व्हर वर कसं टाकायचं आणि सगळ्यात महत्त्वाचं म्हणजे एप्लीकेशन जे आपण सर्वर टाकत आहे हे पूर्णपणे टेस्टेड आहे की नाही हेही आपल्याला बघावे लागत. 

एकदा एप्लीकेशन सर्वर गेल्यावरती जर लोकांना अडचण यायला लागली तर ते चांगलं नाही त्यामुळे तुम्हाला थोडं टेस्टिंग जरी माहीत असेल तरी उत्तम. 

तर अशा प्रकारे ज्या व्यक्तीला फ्रन्टएन्ड, बॅकेन्ड आणि काही ऑक्झिनरी स्किल्स माहित असतील त्याला फुलस्टॅक डेव्हलपर बनणे खूप सोपे जाईल.

काय शिकावे कळत नाहीये?काळजी करू नका आम्ही तुम्हाला मदत करूमला मदत हवी आहे