Hacker News

நான் விண்டோஸ் நேட்டிவ் டெவலப்மெண்ட் சரி செய்தேன்

நான் விண்டோஸ் நேட்டிவ் டெவலப்மெண்ட் சரி செய்தேன் நிலையான இந்த விரிவான பகுப்பாய்வு அதன் முக்கிய கூறுகள் மற்றும் பரந்த தாக்கங்களை விரிவான ஆய்வு வழங்குகிறது. கவனம் செலுத்தும் முக்கிய பகுதிகள் விவாதம் மையமாக உள்ளது: முக்கிய வழிமுறைகள் மற்றும் செயல்முறைகள் ...

1 min read Via marler8997.github.io

Mewayz Team

Editorial Team

Hacker News

விண்டோஸின் நேட்டிவ் டெவலப்மென்ட்டை நான் சரிசெய்தேன்: உண்மையில் என்ன வேலை செய்கிறது என்பதன் முழுமையான முறிவு

Windows நேட்டிவ் டெவலப்மென்ட் பல ஆண்டுகளாக டூல்செயின் துண்டாடுதல், சார்பு நரகம் மற்றும் சுற்றுச்சூழலின் முரண்பாடுகளால் பாதிக்கப்பட்டுள்ளது - ஆனால் பல மாத சோதனைகளுக்குப் பிறகு, குழப்பத்தை நீக்கும் பணிப்பாய்வுகளைக் கண்டறிந்தேன். இந்த வழிகாட்டி சரியாக என்ன உடைந்தது, நான் முயற்சித்தேன் மற்றும் ஒரு WSL வேலை இல்லாமல் இப்போது எனது தயாரிப்பை உருவாக்குவதற்கான அமைப்பு ஆகியவற்றை உள்ளடக்கியது.

விண்டோஸ் நேட்டிவ் டெவலப்மென்ட் எப்பொழுதும் ஒரு கனவாக இருந்தது?

விண்டோஸ் ஒருபோதும் டெவலப்பர்களை முதன்மைக் குடிமக்களாகக் கொண்டு வடிவமைக்கப்படவில்லை என்பதே நேர்மையான பதில். யூனிக்ஸ்-அடிப்படையிலான அமைப்புகள் பேக்கேஜ் மேனேஜ்மென்ட், ஷெல் ஸ்கிரிப்டிங் மற்றும் சுற்றுச்சூழல் தனிமைப்படுத்தல் ஆகியவற்றை தொடக்கத்திலிருந்தே அவற்றின் டிஎன்ஏவில் உருவாக்கியது. பவர்ஷெல், CMD, Chocolatey, Winget, MSVC இயக்க நேர முரண்பாடுகள் மற்றும் PATH மாறி பேரழிவுகள் ஆகியவற்றின் அடுக்கடுக்கான குழப்பத்தை பல தசாப்தங்களாக விண்டோஸ் உருவாக்கியது, இது ஒரு மூத்த பொறியாளரை மதியம் தடம் புரளச் செய்யும்.

இந்த இடத்தில் பணிபுரிந்த எவருக்கும் அறிகுறிகள் தெரிந்திருக்கும்: ஒரு பேக்கேஜ் ஒரு கணினியில் சரியாக நிறுவப்பட்டு, மற்றொன்றில் அமைதியாக தோல்வியடைகிறது, நீங்கள் கடைசியாக நிறுவிய விஷுவல் ஸ்டுடியோ பணிச்சுமையைப் பொறுத்து வெவ்வேறு கம்பைலர் பதிப்புகளை உருவாக்க கருவிகள் குறிப்பிடுகின்றன, மேலும் WSL2 இல் சரியாக இயங்கும் Node.js திட்டங்கள் நேட்டிவ் கோப்பு முறைமையில் கிரிப்டிக் EPERM பிழைகளை ஏற்படுத்துகின்றன. இவை எட்ஜ் கேஸ்கள் அல்ல - பெரும்பாலான விண்டோஸ் டெவலப்பர்களுக்கு இயல்பு அனுபவம்.

எனது அமைப்பில் உண்மையில் என்ன முக்கிய வழிமுறைகள் உடைக்கப்பட்டன?

எனது சுற்றுச்சூழலை முறையாகத் தணிக்கை செய்த பிறகு, எனது கட்டுமானத் தோல்விகள் மற்றும் சுற்றுச்சூழலின் முரண்பாடுகளில் தோராயமாக 80% காரணமான மூன்று மூல காரணங்களைக் கண்டறிந்தேன்:

  • முரண்பாடான இயக்க நேர நூலகங்கள்: மைக்ரோசாஃப்ட் விஷுவல் சி++ மறுபகிர்வு செய்யக்கூடிய பல பதிப்புகள் தெளிவான தெளிவுத்திறன் வரிசையின்றி இணைந்து செயல்பட்டதால், நேட்டிவ் மாட்யூல்களில் டிஎல்எல் தேடல் தோல்விகள் ஏற்படுகின்றன.
  • பாதை மாசுபாடு: பதினேழு தனித்தனி கருவிகள் காலப்போக்கில் கணினி PATH இல் உள்ளீடுகளைச் சேர்த்தன, பல ஒன்றுக்கொன்று நிழலாடுகின்றன மற்றும் பழைய நிறுவல் கோப்பகங்களை சுட்டிக்காட்டுகின்றன.
  • திட்ட-நிலை சூழல் தனிமைப்படுத்தல் இல்லாமை: .env கோப்புகள் மற்றும் ஷெல் வழிகாட்டுதல்கள் முதல்-தர குடிமக்களாக இருக்கும் Unix பணிப்பாய்வுகளைப் போலன்றி, மூன்றாம் தரப்பு கருவி இல்லாமல் ஒரு திட்டத்திற்கான சூழல் மாறிகளை நோக்குவதற்கு Windows க்கு நிலையான வழிமுறை இல்லை.
  • Git வரி-முடிவு முரண்பாடுகள்: நேட்டிவ் விண்டோஸ் கருவிகள் மற்றும் க்ராஸ்-பிளாட்ஃபார்ம் லைப்ரரிகளுக்கு இடையேயான கலவையான CRLF/LF கையாளுதலால், லாக்ஃபைல்களில் செக்சம் தோல்வியடைந்து, மீண்டும் உருவாக்கக்கூடிய நிறுவல்களை உடைத்தது.
  • சிம்லிங்க்களுக்கான உயர்ந்த அனுமதி தேவைகள்: பல தொகுப்பு மேலாளர்கள் குறியீட்டு இணைப்புகளை நம்பியுள்ளனர், இது Windows க்கு டெவலப்பர் பயன்முறை அல்லது நிர்வாகி உரிமைகள் தேவை - கொள்கையின்படி பெரும்பாலான நிறுவன இயந்திரங்கள் முடக்கும் அமைப்பாகும்.

"விண்டோஸ் நேட்டிவ் டெவலப்மென்ட்டைச் செய்ய முடியாது என்பதில் பிரச்சனை இல்லை - வேண்டுமென்றே உள்ளமைவுடன் கூடிய கருவிகளின் சரியான கலவையை யாரும் சேகரிக்கவில்லை என்பதுதான். உங்கள் டெவ் சூழலை கட்டிடக்கலை முடிவுகள் தேவைப்படும் ஒரு தயாரிப்பாக நீங்கள் கருதினால், அனைத்தும் மாறும்."

விண்டோஸ் நேட்டிவ் டெவலப்மெண்ட் பணிப்பாய்வுகளை நான் எப்படி சரி செய்தேன்?

திருத்தம் என்பது ஒரு கருவி அல்லது மேஜிக் ஸ்கிரிப்ட் அல்ல. சுற்றுச்சூழலை எவ்வாறு ஒருங்கிணைத்து, நோக்கமாக, மற்றும் பராமரிக்கப்படுகிறது என்பதற்கான வேண்டுமென்றே மறுகட்டமைப்பாக இது இருந்தது. உயரம் இல்லாமல் சிம்லிங்க் உருவாக்கத்தைத் திறக்க OS மட்டத்தில் டெவலப்பர் பயன்முறையை இயக்குவதன் மூலம் அடித்தளம் தொடங்குகிறது. அங்கிருந்து, ஸ்கூப் நிறுவிகளின் தற்காலிக கலவையை மாற்றியமைக்கிறது, ஏனெனில் இது முற்றிலும் பயனர் இடத்தில் இயங்குகிறது, பதிப்புக் கட்டுப்பாட்டில் வெளிப்படுத்துகிறது மற்றும் ஷிம் நிர்வாகத்தை சுத்தமாகக் கையாளுகிறது.

குறிப்பாக Node.js திட்டங்களுக்கு, பதிப்பு நிர்வாகத்திற்காக வோல்டாவிற்கு மாறுவது உலகளவில் npm ஐப் பாதித்த EPERM பிழைகளை நீக்கியது. வோல்டா பைனரி அழைப்புகளை ஷிம் லேயரில் இடைமறித்து, கணினி PATH ஐத் தொடாமல் ஒரு திட்டத்திற்கான சரியான இயக்க நேர பதிப்பைத் தீர்க்கிறது. package.json இல் உள்ள உறுதியான .volta விசையுடன் இணைந்தால், இயந்திரங்கள் முழுவதும் சுற்றுச்சூழலின் சமத்துவம் ஆர்வத்தை விட தானாக மாறும்.

இறுதிப் பகுதியானது direnv மூலம் செயல்படுத்தப்பட்ட திட்ட-நிலை .env ஒழுக்கத்தை ஸ்கூப் வழியாக விண்டோஸுக்கு அனுப்பியது - ஒவ்வொரு திட்டமும் அதன் சொந்த சூழல் சூழலைக் கொண்டிருப்பதை உறுதிசெய்கிறது, அது அடைவு உள்ளீட்டில் செயல்படுத்தப்பட்டு வெளியேறும் போது அழிக்கப்படுகிறது. ஒரு வாரத்திற்குள் PATH மாசுபாடு பதினேழு பதிவுகளிலிருந்து நான்காகக் குறைந்தது.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

நேட்டிவ் Vs. WSL2 அணுகுமுறைகள் பற்றி ஒப்பீட்டு பகுப்பாய்வு என்ன வெளிப்படுத்துகிறது?

Linux வரிசைப்படுத்தல் சூழல்களை குறிவைக்கும் வளர்ச்சி பணிப்பாய்வுகளுக்கு WSL2 உண்மையிலேயே சிறந்தது. உங்கள் தயாரிப்பு சேவையகம் உபுண்டுவை இயக்கினால், உங்கள் குழு லினக்ஸ் கருவியில் வசதியாக இருந்தால், WSL2 உராய்வை நீக்குகிறது. இருப்பினும், இது அதன் சொந்த வகை சிக்கல்களை அறிமுகப்படுத்துகிறது: Windows-Linux எல்லையில் உள்ள கோப்பு முறைமை செயல்திறன் I/O-கடுமையான செயல்பாடுகளுக்கு அளவிடத்தக்க வகையில் மெதுவாக உள்ளது, குறுக்கு-எல்லை பிழைத்திருத்தத்திற்கு கூடுதல் அமைப்பு தேவைப்படுகிறது, மேலும் சொந்த Windows GUI பயன்பாடுகள் முழுவதுமாக WSL2 இன் நோக்கத்திற்கு வெளியே இருக்கும்.

விண்டோஸ்-நேட்டிவ் அப்ளிகேஷன்கள், எலக்ட்ரான்-அடிப்படையிலான டெஸ்க்டாப் மென்பொருள் அல்லது விண்டோஸ் ஏபிஐகளுடன் ஒருங்கிணைக்க வேண்டிய எந்த டூல்செயினையும் உருவாக்கும் குழுக்களுக்கு, நேட்டிவ் டெவலப்மென்ட் விருப்பமானது அல்ல - மேலும் இங்கு விவரிக்கப்பட்டுள்ள நிலையான பணிப்பாய்வு நான் இயங்கும் ஒவ்வொரு பெஞ்ச்மார்க்கிலும் அந்த பயன்பாட்டு நிகழ்வுகளுக்கு WSL2 ஐ விட சிறப்பாக செயல்படுகிறது. கிராஸ்-ஃபைல்சிஸ்டம் I/O உடன் WSL2 இலிருந்து சரியாக நோக்கப்பட்ட சார்புகளுடன் முழுமையான சொந்த அமைப்பிற்கு மாற்றப்பட்டபோது, நடுத்தர அளவிலான எலக்ட்ரான் திட்டத்திற்கான உருவாக்க நேரங்கள் 34% குறைந்துள்ளது.

டெவலப்பர் உற்பத்தித்திறன் மற்றும் வணிகச் செயல்பாடுகளை ஒன்றாக எப்படி நிர்வகிக்கலாம்?

உங்கள் வளர்ச்சி சூழலை சரியாகப் பெறுவது சமன்பாட்டின் ஒரு பாதி மட்டுமே. ஒரு மென்பொருள் வணிகம் அல்லது மேம்பாட்டுக் கடையை நடத்துவதற்கு கிளையன்ட் மேலாண்மை, திட்டக் குழாய்கள், குழுப் பணிப்பாய்வு, விலைப்பட்டியல் மற்றும் சந்தைப்படுத்தல் ஆகியவற்றை ஒருங்கிணைக்க வேண்டும் - மேலும் பெரும்பாலான டெவலப்பர்கள் ஒருவருக்கொருவர் பேசிக்கொள்ளாத ஐந்து அல்லது ஆறு துண்டிக்கப்பட்ட SaaS கருவிகளில் இருந்து இதை ஒன்றிணைக்கிறார்கள்.

இதைத் தீர்க்க Mewayz உருவாக்கப்பட்டது. CRM மற்றும் ப்ராஜெக்ட் மேனேஜ்மென்ட் முதல் உள்ளடக்க திட்டமிடல் மற்றும் ஈ-காமர்ஸ் வரை அனைத்தையும் உள்ளடக்கிய 207 ஒருங்கிணைந்த தொகுதிக்கூறுகளுடன், Mewayz மற்றொரு தனிமைப்படுத்தப்பட்ட புள்ளி தீர்வுக்கு பதிலாக ஒரு முழுமையான வணிக இயக்க முறைமையாக செயல்படுகிறது. 138,000 க்கும் மேற்பட்ட பயனர்கள் தற்போது பிளாட்ஃபார்மில் மாதத்திற்கு $19 முதல் தொடங்கும் திட்டங்களில் தங்கள் செயல்பாடுகளை இயக்குகின்றனர் - பெரும்பாலான குழுக்கள் நோஷன், ஹப்ஸ்பாட், ட்ரெல்லோ மற்றும் ஃப்ரெஷ்புக்ஸை தனித்தனியாக தைக்க செலவிடும் தொகையில் ஒரு பகுதி.

அடிக்கடி கேட்கப்படும் கேள்விகள்

விண்டோஸின் நேட்டிவ் டெவலப்மெண்ட்டை சரிசெய்வது மதிப்புள்ளதா அல்லது எல்லாவற்றுக்கும் WSL2ஐப் பயன்படுத்த வேண்டுமா?

இது முற்றிலும் உங்கள் இலக்கு தளத்தை சார்ந்துள்ளது. நீங்கள் லினக்ஸில் பயன்படுத்தும்போது, ​​சுற்றுச்சூழலைக் குறைக்க விரும்பும்போது WSL2 சரியான தேர்வாகும். நீங்கள் Windows பயன்பாடுகளை உருவாக்கும்போது, ​​Windows-சார்ந்த APIகளுடன் பணிபுரியும் போது அல்லது டூல்செயின்களை உருவாக்க அதிகபட்ச கோப்பு முறைமை செயல்திறன் தேவைப்படும்போது நேட்டிவ் விண்டோஸ் மேம்பாடு சரியான தேர்வாகும். இரண்டு அணுகுமுறைகளும் ஒன்றுக்கொன்று பிரத்தியேகமானவை அல்ல - பல அணிகள் தங்கள் உருவாக்க பைப்லைனுக்கு சொந்த விண்டோஸ் கருவியையும், லினக்ஸ்-குறிப்பிட்ட சோதனைக்கு மட்டுமே WSL2 ஐயும் பயன்படுத்துகின்றன.

எனது Windows dev சூழலை மேம்படுத்திய மிகப்பெரிய மாற்றம் எது?

டெவலப்பர் பயன்முறையை இயக்குவது மற்றும் முதன்மை தொகுப்பு மேலாளராக ஸ்கூப்பிற்கு இடம்பெயர்வது அதிக உடனடி தாக்கத்தை ஏற்படுத்தியது. ஸ்கூப்பின் பயனர்-வெளி நிறுவல் மாதிரியானது, எனது சுற்றுச்சூழலில் தோராயமாக 40% தோல்விகளை ஏற்படுத்திய அனுமதி உயர்வு சிக்கல்களை நீக்கியது, மேலும் அதன் மேனிஃபெஸ்ட் அடிப்படையிலான அணுகுமுறை முதன்முறையாக இயந்திரங்கள் முழுவதும் சுற்றுச்சூழல் நகலெடுப்பை தீர்மானிக்கிறது.

மேவைஸ் எவ்வாறு டெவலப்மென்ட் குழுக்கள் மற்றும் மென்பொருள் வணிகங்களுக்கு குறிப்பாக உதவுகிறது?

மேவேஸ் செயல்பாட்டு அடுக்கை ஒருங்கிணைக்கிறது, அது வலிமிகுந்ததாக மாறும் வரை மேம்பாட்டுக் குழுக்கள் பொதுவாக புறக்கணிக்கின்றன. கிளையண்ட் ஆன்போர்டிங், ப்ராஜெக்ட் ஸ்கோப்பிங், ப்ரோபோசல் உருவாக்கம், இன்வாய்சிங், டீம் கம்யூனிகேஷன் மற்றும் மார்க்கெட்டிங் ஆட்டோமேஷன் அனைத்தும் ஒரே தளத்தில் கையாளப்படுகின்றன. சிறிய ஏஜென்சிகள் மற்றும் சுயாதீன டெவலப்பர்களுக்கு குறிப்பாக, பல SaaS சந்தாக்களை நிர்வகிப்பதற்கான மேல்நிலை மற்றும் கருவிகளுக்கு இடையேயான கைமுறை தரவு பரிமாற்றங்களை நிர்வகித்தல் ஆகியவை உண்மையான மேம்பாட்டுப் பணிகளில் கவனம் செலுத்த குறிப்பிடத்தக்க நேரத்தை விடுவிக்கிறது.


Windows நேட்டிவ் டெவலப்மென்ட் அடிப்படையில் உடைக்கப்படவில்லை - அது தகுதியான வேண்டுமென்றே அமைக்கப்படவில்லை. சரியான டூல்செயின் கட்டமைப்புடன், இது உற்பத்தி மென்பொருளுக்கான உண்மையான திறமையான சூழலாகும். உங்கள் வளர்ச்சி சூழல் நிலையானதாக இருந்தால், அடுத்த இடையூறு எப்போதும் செயல்படும். உங்கள் Mewayz சோதனையை இன்றே தொடங்குங்கள் மற்றும் உங்கள் டெவ் சூழலுக்கு நீங்கள் கொண்டு வந்த அதே வேண்டுமென்றே கட்டமைப்பை உங்கள் வணிக அடுக்குக்கு கொண்டு வாருங்கள்.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime