30 June, 2019

ওয়েব ডেভেলপমেন্ট বনাম এন্ড্রয়েড/আইওএস ডেভেলপমেন্ট নিয়ে ভূল ধারণা

ফ্রেন্ড জোন থেকে শুরু করে টেকওয়ার্ল্ডের নতুন অনেকেই ওয়েব ডেভেলপমেন্ট জিনিসটাকে এন্ড্রয়েড বা আইওএস ডেভেলপমেন্টের থেকে ‘ছোট’ কাজ হিসেবে দেখেন। হয়তঃ শুনে হাসি পাচ্ছে, তবে কথাটার সত্যতা আছে বলে মনে হয়। অনেক ক্ষেত্রে ব্যাপারটা ভয়াবহ আকার ধারণ করছে। এখন অনেকেই সরাসরি এন্ড্রয়েড/আইওএস ডেভেলপমেন্ট শেখা শুরু করেন ওয়েবের কোন কনসেপ্ট না নিয়েই। কিভাবে একটা সার্ভার কাজ করে, বিভিন্ন টাইপের রিকোয়েস্ট ও এগুলোকে কিভাবে হ্যান্ডেল করতে হয়, কিভাবে একটা ডাটাবেজ কাজ করে, কিভাবে ডাটাবেজ কোয়েরি লিখতে হয় ও ব্যাক-এন্ডের সাথে এর সম্পর্ক কোথায়, অথেনটিকেশন, অথোরাইজেশন, সেশন ইত্যাদি ইত্যাদি গুরুত্বপূর্ণ জিনিসগুলো নিয়ে সামান্যতম ধারনাও নাই তার আগেই, এপ ডেভেলপমেন্ট শুরু করে দেন। এবং এই ওয়েবের কন্সেপ্ট গুলোকে শুধু ওয়েবসাইট বা ওয়েবএপ ডেভেলপমেন্টের (ফ্রন্ট-এন্ড) অংশ মনে করেন। মনে করেন যে আমি সিএসই বা টেক রিলেটেড সাবজেক্টে পড়ি আমি কেন এইসটিএমএল, সিএসএস, জাভাস্ক্রিপ্ট শিখব? এগুলা আমার কাজ না। আমি এন্ড্রয়েড/আইওএস এপ বানাবো। এআই নিয়ে কাজ করবো। এগুলো আমার জন্য না। এপিআই বা ব্যাকএন্ড সার্ভিসেস ও ফ্রন্ট-এন্ড এর পার্থক্যটা বোঝেন না তারা।এখন তো অনেকে এন্ড্রয়েড হালকা-পাতলা শিখেই সরাসরি ফায়ারবেজ বা এরকম কোন রেডিমেড সলিউশন ইউজ করতে শুরু করে দেন। বুঝে শুনে ইউজ করলে ভালো। তবে, কেন জানি মনে হয় অনেকে কিছু না বুঝেই ইউজ করেন, ডকুমেন্টেশন থেকে কপি-পেস্ট করে চালায় যান। আমার মনে হয় তাদের অনেক বোঝায় ভূল থেকে যায়, সত্যটা কি জানি না তবে অনেকের সাথে কথা বলে এরকমই তো মনে হয়। অনেক ডেভেলপারের মধ্যে অনেক গ্যাপ থেকে যাচ্ছে এ জন্য।
যাই হোক, ব্যাক্তিগত ভাবে আমার মনে হয় মোবাইল ডেভেলপমেন্ট অনেক গুরুত্বপূর্ণ একটা ডোমেইন। ফিউচারে মোবাইল/আইওটির ব্যাবহার আরো অনেক বেড়ে যাবে। সাথে বাড়বে এগুলোর এপ্লিকেশন ডেভেলপারের চাহিদাও। তবে, আমার মনে হয় আমরা যারা মোবাইল (এন্ড্রয়েড/আইওএস) ডেভেলপমেন্টের দিকে যেতে চাই তাদের কমপক্ষে কিছু দিন ওয়েবের কন্সেপ্ট গুলো নিয়ে কাজ করা উচিত। ওয়েব এপিআই/সার্ভিসেস লিখে, ডাটাবেজ নিয়ে কাজ করে তারপর মোবাইল ডেভেলপমেন্টে গেলে মনে হয় কন্সেপ্ট গুলো অনেক ক্লিয়ার থাকবে। এক্ষেত্রে পিএইচপি (লারাভেল/ওয়ার্ডপ্রেস) /নোড (এক্সপ্রেস)/পাইথন(জ্যাঙ্গো/ফ্লাস্ক)/ডটনেট-কোর নিয়ে কাজ করা যেতে পারে। এসকিউএল ও নো-এসকিউএল ডাটাবেজ শেখা যেতে পারে।
আরো একটা বিষয়, ইদানিং আমাদের অনেকের মধ্যেই আর্টিফিশিয়াল ইন্টেলিজেন্স, মেশিন লার্নিং ইত্যাদি নিয়ে অনেক আগ্রহ। খুবই ভালো কথা।তবে এগুলোর জন্য যে পরিমান প্রোগ্রামিং ও প্রব্লেম সলভিং স্কিল, ম্যাথমেটিক্স, স্টাটিস্টিক্স ইত্যাদির জ্ঞান দরকার হয় তা নিয়ে আমাদের কোন ধারণাই নাই। আমরা সেগুলোতে জোড় না দিয়ে একটা পাইথনের ফ্রেমওয়ার্ক শিখে আর্টিফিশিয়াল ইন্টেলিজেন্স স্পেশালিস্ট হতে চাচ্ছি একেক জন। এই ভূল ধারণা গুলো দূর হওয়া উচিত। পাইথনের সাথে এগুলোর কোন সম্পর্কই নাই। জাভা, সি# এমনকি জাভাস্ক্রিপ্ট দিয়েও এআই নিয়ে কাজ করা যায়।
কিভাবে লিখলাম জানি না, তবে এ সকল বিষয় নিয়ে যে ভূল বোঝা-বুঝি চলতেছে এগুলো নিয়ে লেখালেখি করা, সচেতনতা তৈরী করা দরকার।
ধন্যবাদ।
Sunwarul 

No comments:

Post a Comment