![Difference between Frontend, Backend and Full stack](http://media.assettype.com/kalkionline%2F2024-06%2F8b65e841-14dd-4f01-9eaa-cb101372bdad%2Fdifference_between_Frontend__Backend_and_Full_stack.jpg?w=480&auto=format%2Ccompress&fit=max)
ஓர் உணவகத்துக்குள் சில வாடிக்கையாளர்கள் வந்து அமர்கிறார்கள். இட்லி, தோசை, சப்பாத்தி, பிரியாணி என ஆளுக்கு ஓர் உணவுவகையைக் கேட்கிறார்கள். அங்கிருக்கும் ஒருவர் அதையெல்லாம் குறித்துக்கொண்டு உள்ளே செல்கிறார், சிறிது நேரத்தில், அவர்கள் கேட்ட உணவுகளைக் கொண்டுவந்து பரிமாறுகிறார்.
'பிரியாணி ரொம்ப ருசியா இருக்கு' என்கிறார் ஒரு வாடிக்கையாளர், 'இதை எப்படிச் செஞ்சீங்கன்னு கொஞ்சம் சொல்லமுடியுமா?'
பரிமாறியவர் சிரிக்கிறார், 'அதெல்லாம் எனக்கு எப்படி சார் தெரியும்?' என்கிறார்.
'அப்ப இந்தப் பிரியாணியை நீங்க சமைக்கலையா?'
'ம்ஹூம், இல்லை' என்கிறார் அவர், 'என் வேலை வர்றவங்களுக்கு என்ன வேணும்ன்னு தெரிஞ்சுகிட்டு அதைப் பரிமாறுறதுமட்டும்தான். சமைக்கிறதுக்குப் பின்னாடி வேற ஆளுங்க இருக்காங்க.'
அதாவது, உணவகத்தின் முன்பகுதியில், வருகிறவர்களை வரவேற்று, விருந்தோம்புவது ஒரு திறமை, அதே உணவகத்தின் பின்பகுதியில் விதவிதமான உணவுப் பொருட்களைத் தரமாகவும் சுவையாகவும் சமைப்பது வேறு திறமை. அதனால், இந்த இரண்டையும் வெவ்வேறு ஆட்கள் செய்கிறார்கள்.
உணவகங்களில் நாம் காண்கிற இந்த ஏற்பாடு, தகவல் தொழில்நுட்ப நிறுவனங்களிலும் உண்டு. அதாவது, மென்பொருட்கள், இணையத் தளங்களின் முன்பகுதியை (Frontend) (திரை, அதில் உள்ள பொத்தான்கள், பெட்டிகள், படங்கள், எழுத்துகள் போன்றவை) எழுதுபவர் வேறு, அவற்றின் பின்பகுதியை (Backend) (இணையத்துடன் பேசுதல், தரவுத்தளத்திலிருந்து தகவல்களை எடுத்தல், வெவ்வேறு இடங்களிலிருந்து சேர்த்த தகவல்களை ஒருங்கிணைத்தல், பாதுகாத்தல் போன்றவை) எழுதுபவர் வேறு. ஏனெனில், இந்த இரண்டு வேலைகளுக்கும் வெவ்வேறு திறமைகள் தேவைப்படுகின்றன.
வாடிக்கையாளர்கள் பார்க்கிற, தொட்டு, கிளிக் செய்து, தட்டச்சு செய்து, படித்துப் பயன்படுத்துகிற முற்பகுதியை வடிவமைக்கிறவர்களை முற்பகுதி உருவாக்குநர்கள் (Frontend Developers) என்றும், அவர்களுக்குத் தெரியாத, ஆனால், அவர்களுடைய மென்பொருள் அனுபவத்தை முழுமையாக்குகிற பிற்பகுதியை நிரலெழுதி உருவாக்குகிறவர்களைப் பிற்பகுதி உருவாக்குநர்கள் (Backend Developers) என்றும் அழைக்கிறார்கள். சில நேரங்களில் இவர்கள் இருவரும் ஒரே கருவி (Tool) அல்லது நிரல் மொழியைக்கூடப் (Programming Language) பயன்படுத்தலாம். ஆனால், இந்த இரு பணிகளின் தன்மை முற்றிலும் வேறு. அதனால், ஒவ்வொருவரும் தனக்குச் சிறப்பாக வருகிற ஒன்றில் ஆழமாகச் செல்வது வழக்கம்.
அதே நேரம், உணவகத்தில் முன்னால் உள்ளவரும் பின்னால் உள்ளவரும் கைகோத்துச் செயல்பட்டால்தான் வாடிக்கையாளருக்கு நல்ல உணவு கிடைக்கும். அதுபோல, இந்த இருவகை உருவாக்குநர்களும் சேர்ந்து இயங்குகிறார்கள், யார், எதைச் செய்யவேண்டும், ஒருவருக்கொருவர் எப்படி உரையாடிக்கொள்ளவேண்டும் என்கிற தெளிவுடன் செயல்படுகிறார்கள்.
அப்படியானால், முற்பகுதியை உருவாக்கும் திறமை கொண்ட ஒருவர் பிற்பகுதியை உருவாக்குவதுபற்றித் தெரிந்துகொள்ளக்கூடாதா? பிற்பகுதி வல்லுனர் ஒருவர் முற்பகுதியை உருவாக்குவது தவறா?
இல்லை. சொல்லப்போனால், இந்த இரண்டையும் செய்யக்கூடிய திறமை கொண்டவர்களுக்கு மென்பொருள் துறையில் தனி மதிப்பு இருக்கிறது. அவர்களை Fullstack Developer என்கிறார்கள். அதாவது, ஒரு மென்பொருள் அல்லது இணையத் தளத்தின் முழு அடுக்கையும் அவர்களால் உருவாக்கமுடியும். இப்படிப்பட்டவர்கள் ஒரு குழுவில் இருந்தால், குறைந்த எண்ணிக்கையிலான நபர்களைக் கொண்டு வேலையை விரைவாக முடித்துவிடலாம்./
இந்தத் துறையில் புதிதாக நுழைகிற ஒருவர் Fullstack Developerஆகத்தான் முயலவேண்டுமா?
அப்படி எந்தக் கட்டாயமும் இல்லை. ஒரு பகுதியில் ஆழச் சென்று முன்னேறுகிறவர்களும் உள்ளார்கள், இரண்டையும் ஓரளவு கற்றுக்கொண்டு சிறந்து விளங்குபவர்களும் உள்ளார்கள். ஒவ்வொருவரும் தன்னுடைய தனிப்பட்ட ஆர்வம், கிடைக்கும் வாய்ப்புகள், நிறுவனத்தின் தேவைகள் போன்றவற்றைக் கருத்தில் கொண்டு இந்த இரண்டில் ஏதேனும் ஒரு வழியைத் தேர்ந்தெடுத்து வெற்றிபெறலாம்.