সেরা অনুশীলনের উপর ভিত্তি করে বিল্ড টুল নির্বাচন করুন এবং কনফিগার করুন।
আজ web.dev tooling.report নামে একটি নতুন উদ্যোগ চালু করছে। এটি এমন একটি ওয়েবসাইট যা ওয়েব ডেভেলপারদের জনপ্রিয় বিল্ড টুলগুলির একটি নির্বাচন জুড়ে সমর্থিত বৈশিষ্ট্যগুলির একটি ওভারভিউ দেয়৷ আমরা এই সাইটটি তৈরি করেছি যাতে আপনি আপনার পরবর্তী প্রকল্পের জন্য সঠিক বিল্ড টুল বেছে নিতে পারেন, সিদ্ধান্ত নিতে পারেন যে এক টুল থেকে অন্য টুলে স্থানান্তর করা মূল্যবান কিনা, অথবা কীভাবে আপনার টুলিং কনফিগারেশন এবং কোড বেসে সর্বোত্তম অনুশীলনগুলিকে অন্তর্ভুক্ত করবেন তা নির্ধারণ করুন৷ টুলগুলির বিভিন্ন ফোকাস ক্ষেত্র রয়েছে এবং প্রয়োজনের একটি ভিন্ন সেট পূরণ করে, যার অর্থ টুল নির্বাচন করা এবং কনফিগার করা ট্রেডঅফ করা জড়িত। tooling.report-এর মাধ্যমে, আমরা এই ট্রেডঅফগুলি ব্যাখ্যা করার লক্ষ্য রাখি এবং প্রদত্ত বিল্ড টুলের সাথে কীভাবে সর্বোত্তম অনুশীলনগুলি অনুসরণ করতে হয় তা নথিভুক্ত করা।
উত্তেজনাপূর্ণ শোনাচ্ছে? অন্বেষণ শুরু করতে tooling.report-এ যান বা কেন এবং কীভাবে আমরা এই সাইটটি তৈরি করেছি সে সম্পর্কে আরও জানতে পড়ুন।
বিল্ড টুল প্রায়ই আমাদের পথে পেতে
GoogleChromeLabs- এ, আমরা Squosh এবং Proxx- এর মতো ওয়েব অ্যাপ তৈরি করেছি, পাশাপাশি Chrome Dev Summit 2019- এর মতো ওয়েবসাইট তৈরি করেছি৷ যেকোনো ওয়েব ডেভেলপমেন্ট প্রজেক্টের মতো, আমরা সাধারণত হোস্টিং এনভায়রনমেন্ট, ফ্রেমওয়ার্ক এবং আমাদের বিল্ড টুল সেটআপের মতো প্রকল্পের পরিকাঠামো নিয়ে আলোচনা করে শুরু করি। প্রকল্পের অগ্রগতির সাথে সাথে সেই অবকাঠামোটি আপডেট করা হয়: আমরা যে কাঠামো বা কৌশলগুলি গ্রহণ করি সেগুলিকে মিটমাট করার জন্য নতুন প্লাগইনগুলি যুক্ত করা হয়, বা আমরা যেভাবে কোড লিখি তা পরিবর্তিত হয় যাতে আমাদের বিল্ড টুলগুলি আরও ভালভাবে বুঝতে পারে যে আমরা কী অর্জন করার চেষ্টা করছি৷ এই পুরো প্রক্রিয়া জুড়ে, আমরা প্রায়শই দেখেছি যে আমরা যে সরঞ্জামগুলি নির্বাচন করি তা আমাদের পথে বাধা হয়ে দাঁড়ায়।
আমাদের টিম ব্যবহারকারীদের সর্বোত্তম ওয়েব অভিজ্ঞতা প্রদানের উপর দৃষ্টি নিবদ্ধ করে, যার ফলে প্রায়শই ফাইন-টিউনিং হয় যে কীভাবে আমাদের ফ্রন্টএন্ড সম্পদগুলি একত্রিত করা হয় এবং বিতরণ করা হয়। উদাহরণস্বরূপ, যদি একটি প্রধান থ্রেড স্ক্রিপ্ট এবং ওয়েব ওয়ার্কার স্ক্রিপ্টে নির্ভরতা ভাগ করে থাকে, আমরা প্রতিটি স্ক্রিপ্টের জন্য এটিকে দুইবার বান্ডেল করার পরিবর্তে একবার নির্ভরতা ডাউনলোড করতে চাই। কিছু টুল বাক্সের বাইরে এটি সমর্থন করে, কিছু ডিফল্ট আচরণ পরিবর্তন করার জন্য উল্লেখযোগ্য কাস্টমাইজেশন প্রচেষ্টা প্রয়োজন, এবং অন্যদের জন্য এটি সম্পূর্ণরূপে অসম্ভব।
এই অভিজ্ঞতা আমাদের বিভিন্ন বিল্ড টুল কি করতে পারে এবং কি করতে পারে না তা তদন্ত করতে পরিচালিত করে। আমাদের আশা ছিল বৈশিষ্ট্যগুলির জন্য একটি চেকলিস্ট তৈরি করা যাতে পরের বার আমরা একটি নতুন প্রকল্প শুরু করি, আমরা মূল্যায়ন করতে পারি এবং আমাদের প্রকল্পের জন্য কোন টুলটি সবচেয়ে উপযুক্ত তা চয়ন করতে পারি৷
আমাদের পদ্ধতির
আমরা কিভাবে এক জায়গায় বিভিন্ন বিল্ড টুলের মূল্যায়ন এবং তুলনা করতে পারি? আমরা পরীক্ষার কেস লিখে এটির কাছে এসেছি।
আমাদের দল আলোচনা করেছে এবং পরীক্ষার মানদণ্ড ডিজাইন করেছে যা আমরা বিশ্বাস করি যে ওয়েব ডেভেলপমেন্টের জন্য সর্বোত্তম অনুশীলনের প্রতিনিধিত্ব করে। দুটি অতুলনীয় ফলাফল পরিমাপ করা এড়াতে ইচ্ছাকৃতভাবে বিকাশকারীর অভিজ্ঞতা সম্পর্কিত পরীক্ষাগুলি বাদ দিয়ে আমরা কীভাবে দ্রুত, প্রতিক্রিয়াশীল এবং মসৃণ ব্যবহারকারীর অভিজ্ঞতা সরবরাহ করা যায় তার উপর বিশেষভাবে ফোকাস করেছি।
একবার পরীক্ষার তালিকা তৈরি হয়ে গেলে, আমরা এগিয়ে গিয়েছিলাম এবং টুলটি পরীক্ষার সাফল্যের মানদণ্ড পূরণ করতে পারে কিনা তা পরীক্ষা করার জন্য প্রতিটি টুলের জন্য একটি বিল্ড স্ক্রিপ্ট লিখেছিলাম। প্রাথমিক সেট হিসাবে, আমরা ওয়েবপ্যাক v4, রোলআপ v2 এবং পার্সেল v2 তদন্ত করার সিদ্ধান্ত নিয়েছি। আমরা Browserify + Gulpও পরীক্ষা করেছি যেহেতু বিপুল সংখ্যক প্রকল্প এখনও এই সেটআপটি ব্যবহার করে। পরীক্ষায় উত্তীর্ণ হওয়ার জন্য, টুলের শুধুমাত্র সর্বজনীনভাবে নথিভুক্ত বৈশিষ্ট্য বা টুলের জন্য একটি প্লাগইন ব্যবহার করা যেতে পারে। পরীক্ষার প্রাথমিক সেট লেখার পরে, আমরা বিল্ড টুল লেখকদের সাথে কাজ করেছি তা নিশ্চিত করার জন্য যে আমরা তাদের সরঞ্জামগুলি সঠিকভাবে ব্যবহার করেছি এবং তাদের যথাযথভাবে উপস্থাপন করেছি।
আমরা শুধুমাত্র ${tool_name} ব্যবহার করি, আমার কি এখনও যত্ন নেওয়া উচিত?
অনেক দলে, বিল্ড ইনফ্রাস্ট্রাকচার রক্ষণাবেক্ষণের জন্য নিবেদিত ব্যক্তিরা আছেন, এবং টিমের অন্যান্য সদস্যরা কখনই টুল তৈরি করার ক্ষেত্রে পছন্দ করতে পারে না। আমরা আশা করি যে এই সাইটটি আপনার জন্য এখনও উপযোগী, আপনি যে সরঞ্জামগুলির উপর নির্ভর করেন তার জন্য প্রত্যাশা সেট করার উপায় হিসাবে। প্রতিটি পরীক্ষার জন্য, আমরা অতিরিক্ত সম্পদের সাথে কেন পরীক্ষাটি গুরুত্বপূর্ণ তার একটি ব্যাখ্যা অন্তর্ভুক্ত করেছি। এবং যদি আপনি আপনার পছন্দের টুলের সাথে একটি সেরা অনুশীলন গ্রহণ করতে চান, আমাদের সংগ্রহস্থলের পরীক্ষা সেটআপে এটি করার জন্য প্রয়োজনীয় কনফিগারেশন ফাইল রয়েছে।
আমি কি সাইটে অবদান রাখতে পারি?
আপনি যদি মনে করেন যে একটি নির্দিষ্ট বৈশিষ্ট্য পরীক্ষা করা উচিত যা বর্তমানে অনুপস্থিত, অনুগ্রহ করে আলোচনা শুরু করার জন্য এটি একটি GitHub সমস্যায় প্রস্তাব করুন । আমরা বাস্তব-বিশ্ব ব্যবহারের কেসগুলিকে এনক্যাপসুলেট করার লক্ষ্য রাখি এবং এই ফলাফলগুলিকে আরও ভালভাবে মূল্যায়ন করে এমন কোনও অতিরিক্ত পরীক্ষা স্বাগত জানাই৷
আপনি যদি প্রাথমিক সেটে আমরা অন্তর্ভুক্ত করিনি এমন সরঞ্জামগুলির জন্য পরীক্ষা লিখতে চান, আমরা তাকেও স্বাগত জানাই! আরও তথ্যের জন্য অনুগ্রহ করে CONTRIBUTING.md দেখুন।