নাজমুল ইসলাম
আধুনিক ওয়েব স্থাপত্য
AppML সমসাময়িক কৌশল এবং আধুনিক ওয়েব ডেভেলপমেন্ট এর ধারনাকে একত্রিত করে।
AppML গতি, সরলতা, এবং কম খরচে উপর নজর দেয়:
- সেবামূলক MVC আর্কিটেকচার
- অত্যন্ত কম ব্যান্ডউইথ খরচ
- ক্লাউড কম্পিউটিং জন্য অনুকূল
- উপস্থাপনা বা প্রেজেন্টেশন থেকে কন্টেন্টসময়হ সম্পূর্ণ আলাদা করা
- ইন্টেলিজেন্ট ঘোষণামূলক প্রোগ্রামিং
- দ্রুত এবং তৎপর ওয়েব ডেভেলপমেন্ট
- উচ্চ আকার পরিবর্তনযোগ্য এবং পরীক্ষাসক্ষম
- কনফিগারেশন এবং পুনরায় কনফিগার করা সহজ
- ব্যবহারকারীর অ্যাকাউন্ট এবং কর্মের জন্য নিপুণ সহায়তা
MVC আর্কিটেকচার
AppML এ MVC আর্কিটেকচার ব্যবহার
MVC বলতে বোঝায় মডেল, ভিউ, কন্ট্রোলার
- মডেল আপনার অ্যাপ্লিকেশন সম্পর্কে বর্ণনা দেয়
- ভিউ আপনার ডাটা প্রদশন করে
- কন্ট্রোলার আপনার অ্যাপ্লিকেশনকে নিয়ন্ত্রণ করে
উইকিপিডিয়া: মডেল, ভিউ, কন্ট্রোলার
মডেল – কেবল JSON
মডেল অ্যাপ্লিকেশনকে বর্ণনা করে
মডেল বিভিন্ন হার্ডওয়্যার এবং সফটওয়্যার প্ল্যাটফর্ম এ পুনরায় ব্যবহার করা যায় (সার্ভার, পিসি, আইফোন, ট্যাবলেট, ইত্যাদি)
মডেল উপস্থাপনা বা ইউজার ইন্টারফেস (UI) এর সাথে সংশ্লিষ্ট নয়।
মডেল JSON এর মধ্যে লিখিত হয়:
Model
{ "rowsperpage" : 10, "database" : { "connection" : "localmysql", "sql" : "SELECT CustomerName, City, Country FROM Customers", "orderby" : "CustomerName" }, "filteritems" : [ {"item" : "CustomerName", "label" : "Customer"}, {"item" : "City"}, {"item" : "Country"} ], "sortitems" : [ {"item" : "CustomerName", "label" : "Customer"}, {"item" : "City"}, {"item" : "Country"} ] }
ভিউ – কেবল এইচটিএমএল
ভিউ হচ্ছে ডাটা (এবং ইনপুট) দেখানোর জন্য ইউজার ইন্টারফেস (UI)
ভিউ HTML এবং CSS এ লেখা হয়:
এইচটিএমএল ভিউ
<!DOCTYPE html> <html lang="en-US"> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> <script src="http://www.w3schools.com/appml/2.0.3/appml.js"></script> <body> <div class="container" appml-data="local?model=model_customers"> <h1>Customers</h1> <div appml-include-html="inc_listcommands.htm"></div> <div appml-include-html="inc_filter.htm"></div> <table class="table table-striped table-bordered"> <tr> <th>Customer</th> <th>City</th> <th>Country</th> </tr> <tr appml-repeat="records"> <td>{{CustomerName}}</td> <td>{{City}} </td> <td>{{Country}} </td> </tr> </table> </div> </body> </html>
নিয়ামক (কন্ট্রোলার) – ক্লায়েন্ট এবং / অথবা সার্ভার স্ক্রিপ্ট
একটি ক্লায়েন্ট স্ক্রিপ্ট হচ্ছে একটি ওয়েভ পেজ যা অ্যাপ্লিকেশনকে নিয়ন্ত্রণ করতে পারে।
- অ্যাপ এমএল মেথড এ সঙ্গায়িত ডাটা প্রদর্শন করতে পারে
- অ্যাপ এমএল এইচটিএমএল অ্যাট্রিবিউট এ সঙ্গায়িত ডাটা প্রদর্শন করতে পারে
- অ্যাপ এমএল অ্যাপ্লিকেশন এইচটিএমএল এ কারো সহায়তা ছাড়াই চালু হতে পারে (লুকানো ভাবে)
- (ঐচ্ছিক) অ্যাপ এমএল ওয়েব সার্ভার থেকে মডেল ডাটার জন্য অনুরোধ করতে পারে (এসকিউএল সার্ভার)।
- (ঐচ্ছিক) অ্যাপ এমএল ব্যবহারকারীরা ডাটা সম্পাদনা বা পরিবর্তন করতে পারে।
- (ঐচ্ছিক) অ্যাপ এমএল ওয়েব সার্ভারে ডাটা প্রদান করতে পারে।
সার্ভার স্ক্রিপ্ট অ্যাপ্লিকেশনকে নিন্মক্তভাবে নিয়ন্ত্রণ করতে পারে :
- গ্রাহকের (ব্রাউজার) কাছ থেকে অনুরোধ গ্রহণ করে
- গ্রাহককে ডাটা ফেরত দিয়ে
- গ্রাহকের কাছ থেকে ডাটা গ্রহণ করে
- সার্ভার এর ডাটা আপডেট করে
- অনুমোদন ও নিরাপত্তা তদারকী করে
প্রোগ্রামিং এর শিল্প
আবেদন আকার এবং কম জটিলতা রাখা, সকল প্রোগ্রামিং এর প্রধান সমস্যা।
কম্পিউটার অ্যাপ্লিকেশন এর জটিলতা নিয়ন্ত্রণ, প্রোগ্রামিং এর সঠিক কৌশল।
ঘোষণামূলক প্রোগ্রামিং
সফটওয়্যার উন্নয়ন প্রায়শই সময়সীমা এবং বাজেটের জন্য ক্ষতিগ্রস্থ হয়। সম্পন্ন সফটওয়্যার এ প্রায়ই প্রচুর কোডিং সমস্যা থাকে। এর কারণ হচ্ছে কোড উন্নয়ন, পরীক্ষা করা এবং পরিচালনা করা কঠিন।
কোডিং এর ক্ষেত্রে আপনাকে কিভাবে করতে হবে থেকে কি করতে হবে তা বর্ণনা করার উপর বেশি গুরুত্ব দিতে হবে।
অ্যাপ এমএল এ মডেল এবং ভিউ এ আপনার অ্যাপ্লিকেশন ঘোষণা করতে হবে।
অ্যাপ এমএল এ খুব কমই (অনেক সময় কিছুই নয়) কোডিং করতে হয়।
উইকিপিডিয়া: ঘোষণামূলক প্রোগ্রামিং
দ্রুত এবং তৎপর এপ্লিকেশন উন্নয়ন (ডেভেলপমেন্ট)
কম্পিউটার অ্যাপ্লিকেশন এর জটিলতা নিয়ন্ত্রণ, প্রোগ্রামিং এর সঠিক কৌশল।
আবেদন আকার এবং কম জটিলতা রাখা, সকল প্রোগ্রামিং এর প্রধান সমস্যা।
RAD হচ্ছে একটি সফটওয়্যার ডেভেলপমেন্ট মেথড যা দ্রুত প্রোটোটাইপিং এর উদ্দেশ্যে নুন্যতম পরিকল্পনা ব্যবহার করে।
অ্যাপ এমএল অতিদ্রুত প্রোটোটাইপিং সরবরাহ করে, ঐতিহ্যগত উন্নয়ন পদ্ধতির তুলনায় ১০০ গুণ দ্রুত।
অ্যাপ্লিকেশন প্রোটোটাইপ অ্যাপ্লিকেশন মডেল থেকে কোন কোডিং ছাড়াই সরাসরি চালু হতে পারে।
উইকিপিডিয়া: দ্রুত এপ্লিকেশন ডেভেলপমেন্ট
এজাইল সফটওয়্যার উন্নয়ন (Agile software development) হচ্ছে একটি ধাপে ধাপে উন্নয়নের একটি পদ্ধতি, যেখানে ব্যবহারকারী এবং ডেভেলপারদের প্রত্যেক্ষ সহযোগিতায় সমাধান তৈরি করা হয়।
অ্যাপ এমএল দিয়ে অ্যাপ্লিকেশন ধাপে ধাপে অল্প বৃদ্ধি করে, প্রোটোটাইপ থেকে সম্পন্ন অ্যাপ্লিকেশন লেখা যেতে পারে।
উইকিপিডিয়া: তৎপর সফটওয়্যার ডেভেলপমেন্ট
চলবে (To be continue)