நவீன frontend engineering ஒரு தசாப்தத்திற்கு முன்பு இருந்ததைப் போலத் தெரியவில்லை. நீங்கள் வெறும் HTML மற்றும் CSS மட்டும் எழுதவில்லை. ஒரு சாதாரணத் திட்டம் இப்போது ஒரு குறிப்பிட்ட Node.js runtime, ஒரு குறிப்பிட்ட package manager பதிப்பு, பல build tools மற்றும் அனைத்தும் சரியாக இருக்க வேண்டும் என்று எதிர்பார்க்கும் deployment pipelines ஆகியவற்றுடன் வருகிறது. முதல் npm install-க்கும் இறுதி production build-க்கும் இடையில் சிறிய மாற்றங்கள் உருவாகின்றன. உங்கள் சக ஊழியர் Node 20 பயன்படுத்துகிறார். நீங்கள் Node 18 பயன்படுத்துகிறீர்கள். உங்கள் கணினியில் உள்ள ஒரு global CLI tool, மற்றவர் கணினியில் விடுபட்ட ஒரு dependency-யை மறைக்கலாம். பிறகு யாரும் கேட்க விரும்பாத அந்த வாசகம் வருகிறது: "It works on my machine."
Docker உங்கள் frontend toolkit-இல் முக்கிய இடத்தைப் பிடிக்கிறது, ஏனெனில் அது அந்த நிச்சயமற்ற தன்மையை நீக்குகிறது. இது உங்கள் application-ஐ அதற்குத் தேவையான சரியான runtime, system libraries மற்றும் dependencies ஆகியவற்றுடன் ஒன்றாக இணைக்கிறது. நீங்கள் Windows-இல் குறியீடு எழுதினாலும், macOS-லிருந்து அனுப்பினாலும் அல்லது Linux cloud instance-இல் deploy செய்தாலும், அதன் செயல்பாடு ஒரே மாதிரியாகவே இருக்கும்.
Frontend Developers ஏன் இதைக் கவனிக்க வேண்டும்
Docker தீர்க்கும் சிக்கல்கள் வெறும் கற்பனையானவை அல்ல. அவை ஒவ்வொரு sprint-இலும் வெளிப்படுகின்றன.
Version conflicts நேரத்தை வீணடிக்கின்றன. ஒரு பழைய கிளையண்ட் திட்டத்திற்கு Node 18 தேவைப்படலாம், உங்கள் side project-க்கு Node 20 தேவைப்படலாம், மற்றும் புதிய startup வேலைக்கு Node 22 தேவைப்படலாம். Containers இல்லையென்றால், நீங்கள் இதை version managers மூலம் நிர்வகிக்க வேண்டியிருக்கும். அது ஒரு கட்டம் வரை வேலை செய்யும், ஆனால் எப்போதும் செய்யாது. ஒரு சிறிய npm பதிப்பு முரண்பாடு, peer dependencies எவ்வாறு தீர்க்கப்பட வேண்டும் என்பதை மாற்றக்கூடும், இதனால் மற்றவர்களுக்குச் சரியாக வேலை செய்யும் build, உங்களுக்குச் சரியாக வேலை செய்யாமல் போகலாம். ஒரு framework புதிய வெளியீட்டை அறிவிக்கும்போது, மீண்டும் மீண்டும் நிறுவுவதற்கு (reinstalls) இரண்டு மணிநேரம் செலவிடக் கூடாது. அது ஒரு கோப்பு மாற்றம் மற்றும் ஒரு container restart மூலம் முடிந்துவிட வேண்டும்
