এটি এক টন ফাইল I / O পরিচালনা করতে বিশেষভাবে শক্তিশালী এবং আমি এটিও আশা করি যে এটি এক টন নেটওয়ার্ক যোগাযোগ খুব ভালভাবে পরিচালনা করবে। এটি সকেট-চালিত অ্যাপ্লিকেশনগুলির জন্য বিশেষত জনপ্রিয় বলে মনে হচ্ছে। মনে রাখা গুরুত্বপূর্ণ বিষয়টি হ'ল যদি আপনার প্রয়োজনীয়তা বিদ্যমান লাইব্রেরিগুলি পূরণ না করে (অনেকগুলি রয়েছে) আপনাকে কিছু সিতে ডুব দিতে হবে যা জেএস আদেশের সাথে আবদ্ধ হতে পারে। আপনি অতিরিক্ত নোড প্রক্রিয়াও উত্সাহিত করতে পারেন তবে আমার সন্দেহ হয় যে প্রচুর কর আদায় হতে পারে (আমি ধরে নিচ্ছি - ভুল হতে পারে - যার প্রতিটির জন্য একটি ভি 8 উদাহরণ রয়েছে)।
জেএস একক থ্রেডেড এবং ব্লকিং, যার অর্থ কোনও ফাংশন কল শেষ না হওয়া পর্যন্ত আর কিছুই কিছুই কার্যকর করতে পারে না। এটি জেএসের একটি কাঙ্ক্ষিত বৈশিষ্ট্য ছিল যা মূলত সমস্ত থ্রেডিং এবং উদ্বেগকে আপনার হাত থেকে সরিয়ে নিয়েছিল। জেএস সি / সি ++ স্টাফকে হুডের অধীনে আরও একাধিক-থ্রেড ফ্যাশনে চালানো থেকে বিরত রাখে না যাতে জেএসের ভূমিকা সত্যই আরও আর্কিটেকচার / মেসেঞ্জার is আপনি যদি চিত্র-প্রক্রিয়াজাতকরণ করেন তবে আপনি এটি সিঙ্ক্রোনাস জাভাস্ক্রিপ্ট কমান্ডের সাহায্যে পরিচালনা করতে চান না কারণ আপনার অ্যাপ্লিকেশন বা সার্ভারের সমস্ত কিছু কাজ শেষ না হওয়া পর্যন্ত অবরুদ্ধ হয়ে থাকবে। ধারণাটি হ'ল আপনি কোনও চিত্রকে সীমাবদ্ধ সি / সি ++ কার্যকারিতা দ্বারা প্রসেস করার জন্য ডাকছেন এবং তারপরে চিত্রটি প্রসেস হয়ে গেলে 'সম্পন্ন' ইভেন্টটির প্রতিক্রিয়া জানান।
এর জন্য যে কোনও নোড.জেএস অ্যাপ্লিকেশনটিতে জেএস ভারী ইভেন্ট এবং কলব্যাক চালিত হওয়া প্রয়োজন বা এটি খুব খারাপভাবে সম্পাদন করবে requires সুতরাং আপনি নোডে প্রচুর পদ্ধতি কল দেখতে পাবেন না যা পরে ব্যবহারের জন্য কোনও ফাংশন দেয় না। নোডে খুব তাড়াতাড়ি স্পষ্ট হয়ে ওঠে এমন একটি জিনিস আপনি যদি কলব্যাক পিরামিড হ্যান্ডেল করার কোনও উপায় না খুঁজে পান তবে আপনি এক কুরুচিপূর্ণ বিশ্বের জন্য। যেমন
//event CBs are more DOM-style than Node style and this isn't built-in Node file I/O
//keeping it simple and quick since I'll just get Node stuff wrong from memory
file.get('someFile.txt', function(e){
e.fileObj.find('some snippet', function(e){
someFinalCallBackHandler( e.snippetLocations );
} );
} );
ভাগ্যক্রমে এটিকে আরও ভালভাবে পরিচালনা করার জন্য প্রচুর সরঞ্জাম এবং উদাহরণ রয়েছে। বেশিরভাগ প্রতিশ্রুতিবদ্ধ প্রক্রিয়াগুলির চারপাশে ঘোরাফেরা করে এবং কেবল একে অপরের কলব্যাকের প্রতিক্রিয়া বোঝাতে একটি ক্রিয়াকলাপের শৃঙ্খলাবদ্ধ করে কেবল একটি কুশলরে পিরিমিড স্টাডকে আপনার জন্য কুৎসিত পিরামিড স্টাফ দেয়।
ব্যক্তিগতভাবে, আমি ভালবাসা প্রকাশ করছি যে আমরা উচ্চ স্তরে জেএস এবং সি / সি ++ ক্রোমের আরও কাছাকাছি পাই। এটি চূড়ান্ত কম্বো এবং এটি আমাকে সি শিখতে শুরু করতে অনুপ্রেরণা জাগিয়েছে এবং আপনার গবেষণা না করা পর্যন্ত গ্রন্থাগারের সম্ভাবনার অভাব আপনাকে হতাশ করতে দেবে না। নোড গ্রন্থাগারগুলি খুব দ্রুত গতিতে উত্পাদিত হচ্ছে এবং খুব দ্রুত পরিপক্ক হচ্ছে। আপনি যদি খুব বেশি অস্বাভাবিক কিছু না করেন তবে কারও পক্ষে এটি .েকে রাখা ভাল।
রেলগুলি থেকে সবচেয়ে বড় পার্থক্যটি হ'ল জেএস কখনই রেলের মতো হওয়ার সম্ভাবনা নেই। আমরা এটির পক্ষে সক্ষম হয়ে ওঠার জন্য কোডের ঝোঁক যাইহোক আপনি এটি খুব দ্রুত চান তাই ফ্যাক্টর এবং আর্কিটেকচারের সাথে নিজেকে ঝুলানোর জন্য দড়িটি রয়েছে সাম্প্রতিক বছরগুলি পর্যন্ত জেএসে বেশ DIY Y আমি সেই স্বাধীনতা বলি, কিন্তু আমি বুঝতে পারি যে এটি অনেকটা দেবের কাছে আদর্শ হিসাবে দেখা যায় না।
এছাড়াও, নোড.জেজেসে আপনার কখনও "রত্ন" সমস্যা হবে না কারণ আপনি ম্যাক ব্যতীত অন্য কোনও কিছুতে ইনস্টল করার চেষ্টা করেছিলেন। ক্লায়েন্ট-সাইড ওয়েব ডেভেলপেসনের বিষয়গুলি তুচ্ছ করে এবং এ কারণেই নোডের মূল অংশটি এসেছে। যদি এটি প্রতিটি জনপ্রিয় প্ল্যাটফর্মে minutes মিনিট বা তারও কম সময়ে বাক্স থেকে বের না হয় তবে আমরা সাধারণত এটিকে গুঁড়িয়ে দিয়ে টস করি। আমার এখনও একটি জনপ্রিয় মডিউল চালানো হয়নি যেটির কাজটি করার জন্য আমার বিশেষ কিছু করা দরকার। প্যাকেজ সিস্টেম, দুর্দান্ত।
তবে আপনার মূল প্রশ্নের উত্তর আরও স্পষ্টভাবে / সংক্ষিপ্তভাবে বলার জন্য : ব্যাকগ্রাউন্ড প্রক্রিয়াগুলির সাথে এটি কি ভাল?
হ্যাঁ, নোড মূলত ইভেন্ট এবং কলব্যাকের মাধ্যমে একটি অ্যাপ ড্রাইভিংয়ের মাধ্যমের সাথে ব্যাকগ্রাউন্ড প্রক্রিয়াজাত করে।