আমি শয়তানের উকিল হতে যাচ্ছি না, তবে অপেশাদারী কাজ এবং ইনলাইন জাভাস্ক্রিপ্টের মধ্যে কোনও কঠোর সম্পর্ক নেই। আসুন কয়েকটি সর্বাধিক পরিচিত ওয়েবসাইটগুলির উত্স কোডটি দেখুন:
- গুগল,
- উইকিপিডিয়া,
- মাইক্রোসফট,
- অ্যাডোবি,
- ডেল,
- আইবিএম।
তাদের প্রতিটি হোম পৃষ্ঠাগুলি ইনলাইন জাভাস্ক্রিপ্ট ব্যবহার করে। এর অর্থ কি এই যে সমস্ত সংস্থাগুলি অপেশাদার লোকদের তাদের হোমপৃষ্ঠাগুলি তৈরি করতে নিয়োগ করে?
আমি সেই সকল বিকাশকারীদের মধ্যে একজন যা এইচটিএমএল-এর ভিতরে জাভাস্ক্রিপ্ট কোড রাখতে পারি না। আমি যে প্রকল্পগুলিতে কাজ করি তার মধ্যে আমি কখনই এটি করি না (সম্ভবত কিছু কলগুলি এমন <a href="javascript:...">
প্রকল্পগুলির মতো যেখানে প্রথম থেকেই নিরবচ্ছিন্ন জাভাস্ক্রিপ্টের প্রয়োজন ছিল না, এবং আমি যখনই অন্য কারওর কোডটি রিফ্যাক্টর করি তখন আমি সর্বদা ইনলাইন জাভাস্ক্রিপ্ট সরিয়ে ফেলি But তবে এটি চেষ্টা করার মতো নয়) এতটা নিশ্চিত না?
পারফরম্যান্স-ভিত্তিক, একটি পৃথক ফাইলে জাভাস্ক্রিপ্ট স্থাপন করার সময় আপনার সবসময় আরও ভাল পারফরম্যান্স থাকে না। সাধারণত, আমরা সেই ইনলাইন জাভাস্ক্রিপ্ট বর্জ্য ব্যান্ডউইদথ বিবেচনা করতে প্ররোচিত হই, যেহেতু এটি ক্যাশে করা যায় না (আপনি যখন স্ট্যাটিক ক্যাশেবল এইচটিএমএল নিয়ে কাজ করেন তা বাদে)। বিপরীতে, একটি বাহ্যিক .js ফাইলটি একবারে লোড হয়।
বাস্তবে, এটি কেবলমাত্র একটি অপ্রকালীন অপ্টিমাইজেশান : আপনি সম্ভবত ভেবেছিলেন যে জাভাস্ক্রিপ্ট বহিরাগত করা আপনার ওয়েবসাইটকে দৃten় করবে, তবে আপনি সম্পূর্ণ ভুলও হতে পারেন:
- আপনার ব্যবহারকারীদের বেশিরভাগ যদি খালি ক্যাশে নিয়ে আসে?
- আপনি কি বিবেচনা করেছেন কোনও বাহ্যিক .js ফাইলের সাথে, ওয়েবসাইটটি সঠিকভাবে কনফিগার করা হয়নি (এবং সাধারণত, এটি হয় না), প্রতিটি পৃষ্ঠার অনুরোধে এই ফাইলটিতে একটি অনুরোধ করা হবে,
- .Js ফাইলটি আসলেই ক্যাশেড (আইআইএস সহ, এটি এত সহজ নাও হতে পারে)?
তাই অকালে অপ্টিমাইজ করার আগে আপনার দর্শনার্থীদের সম্পর্কে পরিসংখ্যান সংগ্রহ করুন এবং ইনলাইন জাভাস্ক্রিপ্ট সহ এবং না করে পারফরম্যান্সগুলি মূল্যায়ন করুন।
তারপরে চূড়ান্ত যুক্তি আসে: আপনি নিজের উত্সে জাভাস্ক্রিপ্ট এবং এইচটিএমএল মিশ্রিত করেছেন, তাই আপনি স্তন্যপান করেন। তবে কে বলেছে আপনি দুজনেই মিশলেন? ব্রাউজার দ্বারা ব্যবহৃত উত্স কোডটি সর্বদা আপনার লেখা উত্স কোড নয়। উদাহরণস্বরূপ, সোর্স কোড, সংকুচিত হতে পারে minified, বা একাধিক সিএসএস বা জাতীয় ফাইল একটি ফাইলে পরিনত হতে পারে, কিন্তু তার মানে এই নয় যে আপনি কি সত্যিই নামে আপনার ভেরিয়েবল a
, b
, c
... a1
, ইত্যাদি বা যে আপনি লিখেছেন একটি ফাঁকা স্থান বা নিউলাইন ছাড়াই বিশাল সিএসএস ফাইল। একইভাবে, আপনি সহজেই সংকলন সময়ে বা পরে টেমপ্লেটগুলির মাধ্যমে এইচটিএমএলে বহিরাগত জাভাস্ক্রিপ্ট উত্স কোডটি ইনজেক্ট করতে পারেন।
উপসংহারে, আপনি নিজের লেখার উত্স কোডটিতে জাভাস্ক্রিপ্ট এবং এইচটিএমএল মিশ্রণ করেন, আপনার ভবিষ্যতের প্রকল্পগুলিতে এটি না করার কথা বিবেচনা করা উচিত। তবে এর অর্থ এই নয় যে যদি ব্রাউজারে প্রেরিত উত্স কোডটিতে ইনলাইন জাভাস্ক্রিপ্ট থাকে তবে এটি সর্বদা খারাপ।
- এটা খারাপ হতে পারে।
- বিপরীতে এটি একটি চিহ্ন হতে পারে যে ওয়েবসাইটটি পেশাদারদের দ্বারা লেখা হয়েছিল যারা পারফরম্যান্সের বিষয়ে যত্নশীল হন, নির্দিষ্ট পরীক্ষা করেছিলেন এবং নির্ধারণ করেছিলেন যে তাদের ক্লায়েন্টদের জাভাস্ক্রিপ্টের অংশগুলি ইনলাইন করা দ্রুত হবে faster
- বা এর অর্থ মোটেও কিছু নয়।
ওয়েবসাইটটি কীভাবে করা হয়েছিল সে সম্পর্কে কিছু না জেনে ব্রাউজারে পাঠানো উত্সটি দেখে কেবল "সোজা কোডের ইনলাইন স্ক্রিপ্টিং সম্পর্কে লজ্জা" বলে সেই ব্যক্তির জন্য বরং লজ্জাজনক