আপনার যদি ইতিমধ্যে ক্লাসিক প্রোগ্রামিং বা অন্যান্য নো-কোড/লো-কোড প্ল্যাটফর্মের অভিজ্ঞতা থাকে তবে অনেকগুলি ধারণা পরিচিত হবে।

অসম্ভাব্য অন্যান্য নো-কোড এবং কম-কোড সমাধান, অ্যাপমাস্টার অ্যাপ্লিকেশন তৈরির জন্য একটি ক্লাসিক পদ্ধতির সাথে তৈরি করা হয়েছে। অ্যাপমাস্টারের মৌলিক আইটেমটি একটি প্রকল্প, অন্যান্য প্ল্যাটফর্মের মতো একটি অ্যাপ্লিকেশন নয়। প্রজেক্টে একাধিক ব্যাকএন্ড, ওয়েব এবং মোবাইল অ্যাপ্লিকেশন থাকতে পারে। সমাধানের আর্কিটেকচার - ক্লায়েন্ট সার্ভার (বুদবুদ বা অনুরূপ প্ল্যাটফর্মের মতো মনোলিথ নয়)।

অন্যান্য নো-কোড প্ল্যাটফর্ম থেকে সরানোর সময়, মনে রাখবেন যে অ্যাপমাস্টারে আপনি বিভিন্ন প্ল্যাটফর্ম সরঞ্জামগুলির সাথে আলাদাভাবে ব্যাকএন্ড, ওয়েব এবং মোবাইল তৈরি করেন। এই ধরনের ব্যবহারকারীদের জন্য সবচেয়ে হতাশাজনক মুহূর্তগুলির মধ্যে একটি হল মনে রাখা যে আপনাকে আলাদা অ্যাপ্লিকেশন তৈরি করতে হবে এবং সেই অ্যাপগুলিতে যুক্তি তৈরি করতে হবে।

কিভাবে শুরু করতে হবে?

বেশিরভাগ প্রকল্পের জন্য, আপনাকে ব্যাকএন্ড এবং ওয়েব, বা ব্যাকএন্ড এবং মোবাইল বা এমনকি সমস্ত ধরণের অ্যাপ্লিকেশন তৈরি করতে হবে।

গুরুত্বপূর্ণ ব্যাকএন্ড অ্যাপ্লিকেশনে আপনার বেশিরভাগ যুক্তি প্রয়োগ করতে ভুলবেন না। ওয়েব বা মোবাইল অ্যাপ্লিকেশনগুলিতে কখনই গুরুত্বপূর্ণ যুক্তি রাখবেন না যেখানে আপনার নিয়ন্ত্রণ নেই। ফ্রন্টএন্ড শুধুমাত্র ব্যবহারকারীর ইনপুট থেকে ডেটা ভিজ্যুয়ালাইজেশন এবং তথ্য সংগ্রহের জন্য।

সবচেয়ে সহজ উপায় হল একটি ব্যাকএন্ড অ্যাপ্লিকেশন তৈরি করে শুরু করা।

ব্যাকএন্ড অ্যাপ্লিকেশন

ব্যাকএন্ড ধাপ 1 । ব্যাকএন্ড ডেটা মডেল ডিজাইনারে আপনার ডেটা মডেলগুলি সংজ্ঞায়িত করুন। আপনি SQL ডাটাবেসের (সম্পর্কের সাথে) প্রতিটি মডেলকে একটি টেবিল হিসাবে ভাবতে পারেন। অ্যাপমাস্টারে ডেটা মডেলগুলি শুধুমাত্র প্রাথমিক ডাটাবেস টেবিলগুলিকে সংজ্ঞায়িত করতে ব্যবহৃত হয় না বরং প্রকল্প জুড়ে একটি কাঠামো ঘোষণা হিসাবেও ব্যবহৃত হয়। যেমন, যদি আপনার লজিক ডেটা মডেল 'ব্যবহারকারী' ব্যবহার করে, তাহলে আপনি নিশ্চিত হতে পারেন যে সেই ধরনের যেকোন কাঠামোর ক্ষেত্রগুলির একই সেট থাকবে।

একটি নতুন মডেল তৈরি করতে ডেটা মডেল ডিজাইনারের ক্যানভাসে ডান ক্লিক করুন এবং একটি সম্পর্ক তৈরি করতে একটি মডেল বর্ডার থেকে অন্য মডেল বর্ডারে টেনে আনুন। এটি সম্পাদনা করতে সম্পর্ক বা মডেল ক্ষেত্রে ক্লিক করুন.

অনন্য, NULL নয় বা সূচকের মতো ক্ষেত্রের বৈশিষ্ট্যগুলির বিষয়ে সতর্ক থাকুন: আপনি যদি খালি বা সদৃশ মান সহ বিদ্যমান ডাটাবেসে NOT NULL বা অনন্য নীতি প্রয়োগ করেন, DB স্কিমা স্থানান্তর শেষ পর্যন্ত ব্যর্থ হবে৷

ব্যাকএন্ড ধাপ 2 । আপনার আবেদনের জন্য ব্যবসায়িক প্রক্রিয়া তৈরি করুন। অ্যাপমাস্টার প্ল্যাটফর্মের পরিপ্রেক্ষিতে বিজনেস প্রসেস (বিপি) ক্লাসিক প্রোগ্রামিংয়ের একটি ফাংশনের জন্য একটি অনন্য শব্দ।

প্রতিটি ব্যাকএন্ড BP এর 2টি বাধ্যতামূলক ব্লক রয়েছে: শুরু এবং শেষ। আপনার যদি আপনার BP-তে ডেটা পাঠাতে হয়, তাহলে আপনাকে স্টার্ট ব্লকে ভেরিয়েবলগুলিকে সংজ্ঞায়িত করতে হবে (এটি ক্লাসিক প্রোগ্রামিং থেকে ফাংশনে আর্গুমেন্টের মতো কাজ করবে) এবং সেগুলিকে আপনার BP-এর ভিতরের ব্লকগুলির সাথে সংযুক্ত করতে হবে।

BP থেকে ডেটা ফেরত দিতে আপনি এন্ড ব্লকে ভেরিয়েবল যোগ করতে পারেন (যেমন ক্লাসিক প্রোগ্রামিং থেকে ফাংশনে রিটার্ন)।

BP ব্লকের মধ্যে 2 ধরনের সংযোগ রয়েছে:

  • কঠিন নীল তীর রেখাকে ফ্লো কানেকশন বলা হয় এবং ব্লক এক্সিকিউশনের ক্রম নির্ধারণ করে (কোন ব্লক পরবর্তীতে কার্যকর করা উচিত)
  • একাধিক রঙের পাতলা লাইনগুলিকে ভেরিয়েবল সংযোগ বলা হয় যা ডেটা বাইন্ডিংগুলিকে সংজ্ঞায়িত করে (কোথা থেকে ডেটা পাওয়া যায় - BP ব্লকগুলির মধ্যে ডেটা সংযোগ)। প্রতিটি রঙ একটি ভিন্ন তথ্য প্রকার

সাধারণত, ফ্লো বা পরিবর্তনশীল সংযোগের জন্য BP ব্লকের স্থানগুলিকে সংযোগকারী বলা হয়। ব্লকের বাম দিকের সমস্ত সংযোগকারীগুলি ইন কানেক্টর (প্রবাহ বা ডেটা গ্রহণ করে) এবং ডান দিকে আউট সংযোগকারী (প্রবাহ বা ডেটা ফরোয়ার্ড করে)।

একটি সংযোগ তৈরি করতে, আপনাকে একটি সংযোগকারী থেকে অন্য সংযোগকারীতে টেনে আনতে হবে (আপনাকে সংযোগ করতে হবে এমন ব্লকগুলির মধ্যে টেনে আনতে হবে)।

আপনি কোন দিক থেকে টেনে আনা শুরু করবেন না কেন, এটি একটি সংযোগ তৈরি করবে।

BP সম্পাদক স্বয়ংক্রিয়ভাবে পরিবর্তনশীল সংযোগগুলির জন্য ডেটা প্রকারগুলি পরীক্ষা করে এবং ডেটা প্রকারগুলি অভিন্ন না হলে আপনাকে সংযোগ করতে দেবে না, এটি কোনও লুপ বা খারাপ সংযোগগুলিও প্রতিরোধ করবে৷

আপনি একটি থেকে অন্য BP কল করতে পারেন - শুধু বাম প্যানেল থেকে উপযুক্ত ব্লকটি টেনে আনুন এবং ফেলে দিন। আমরা প্রায়শই যুক্তির জটিলতা কমাতে এই পদ্ধতিটি ব্যবহার করি এবং প্রকল্পে একই যুক্তি একাধিকবার ব্যবহার করি।

ব্যাকএন্ড অ্যাপ্লিকেশনগুলিতে 2 প্রকারের ভেরিয়েবল রয়েছে যা আপনি অস্থায়ীভাবে ডেটা সঞ্চয় করতে BP-তে রাখতে পারেন:

  • স্থানীয় ভেরিয়েবল - বর্তমান BP এর জীবনচক্রের সময় ডেটা সঞ্চয় করতে (সবচেয়ে কার্যকর, শুধুমাত্র মেমরির মধ্যে)
  • গ্লোবাল ভেরিয়েবল - ব্যাকএন্ড অ্যাপ্লিকেশনের লাইফ সাইকেল চলাকালীন আপনার ডেটা সংরক্ষণ করবে (এছাড়াও কেবল ইন-মেমরি, অ্যাপ পুনরায় চালু হলে পুনরায় সেট করা হবে)

আপনি বিপি এডিটরের বাম প্যানেল থেকে টেনে এনে গ্লোবাল ভেরিয়েবল ব্যবহার করতে সক্ষম হওয়ার আগে, আপনাকে ব্যাকএন্ড লজিকের একটি বিভাগ ব্যবহার করে একটি তৈরি করতে হবে।

যদি আপনার BP একটি বহিরাগত উত্স থেকে API এর মাধ্যমে কল করার প্রয়োজন হয় (আপনার ওয়েব থেকে, মোবাইল থেকে, পোস্টম্যান/কার্ল ব্যবহার করে, একটি বাহ্যিক সিস্টেম থেকে), আপনাকে শেষ পয়েন্টে BP সংযুক্ত করতে হবে।

ব্যাকএন্ড ধাপ 3. এন্ডপয়েন্ট তৈরি করুন। অ্যাপমাস্টারে আমরা শেষ পয়েন্টের জন্য একই ক্লাসিক REST API পদ্ধতি ব্যবহার করি। যদিও AppMaster শুধুমাত্র REST API এন্ডপয়েন্টই সমর্থন করে না কিন্তু WebHooks এবং WSS এন্ডপয়েন্টও সমর্থন করে, আমরা প্রথম ধরনের উপর ফোকাস করব।

এন্ডপয়েন্ট তৈরি করার সময়, পদ্ধতি (GET, POST, PUT, PATCH, DELETE), পেলোড (JSON ব্যবহার করুন) এবং URLs (কোনও অ-ASCII অক্ষর নেই, স্পেস নেই, শুরু এবং শেষ হয়) এর ক্ষেত্রে REST API মান মেনে চলুন স্ল্যাশ)।

এন্ডপয়েন্ট তৈরি করার প্রক্রিয়াটি খুবই সহজ এবং সহজবোধ্য: BP নির্বাচন করুন, URL এবং REST পদ্ধতি নির্ধারণ করুন এবং যদি আপনার সেই শেষ পয়েন্টে অনুমোদনের প্রয়োজন হয় - মিডলওয়্যার সেটিংস চেক করুন।

একবার ডেটা মডেল, ব্যবসায়িক প্রক্রিয়া এবং শেষ পয়েন্ট প্রস্তুত হয়ে গেলে, এটি প্রকাশ করার সময় - প্রকাশ বোতাম টিপুন! সাধারণত, 30 সেকেন্ডের মধ্যে অ্যাপমাস্টার প্ল্যাটফর্ম আপনার সমস্ত ব্লুপ্রিন্ট নেবে (হ্যাঁ, আসলে, আপনি যা করেছেন তা ভবিষ্যতের সফ্টওয়্যারের জন্য ব্লুপ্রিন্ট তৈরি করা হয়েছে), সোর্স কোড তৈরি করবে, কম্পাইল করবে, ডকার ইমেজে প্যাক করবে এবং অ্যাপমাস্টার ক্লাউডে স্থাপন করবে। প্রকাশনার প্রক্রিয়া শেষ হলে, আপনি REST API ডকুমেন্টেশন (OpenAPI/Swagger) খুলতে পারেন এবং Swagger বিল্ট-ইন অনুরোধের সাথে অথবা পোস্টম্যান বা অনিদ্রার মতো 3য় পক্ষের টুল ব্যবহার করে আপনার শেষ পয়েন্ট পরীক্ষা করতে পারেন।

গুরুত্বপূর্ণ আপনি Learn & Explore সাবস্ক্রিপশনের সাথে চললে, আমাদের রিসোর্স সেভিং ডেমন স্টুডিওতে আপনার নিষ্ক্রিয়তার 30 মিনিট পরে আপনার অ্যাপ্লিকেশন কন্টেইনার বন্ধ করে দেবে। আবার চালানোর জন্য - Deploy Plan টগল এ ক্লিক করুন বা আবার প্রকাশ করুন।

ওয়েব অ্যাপ্লিকেশন

যখন ব্যাকএন্ড সঠিকভাবে পরিকল্পিত এবং তৈরি করা হয়, তখন ফ্রন্টএন্ডে যাওয়ার সময়। আমরা ওয়েব অ্যাপ্লিকেশন দিয়ে শুরু করব।

WebApp ধাপ 1 । একটি ওয়েব অ্যাপ্লিকেশন তৈরি করুন যদি আপনার প্রকল্পে না থাকে। এখন পর্যন্ত, আমাদের কাছে 2 ধরনের ওয়েব অ্যাপ্লিকেশন ডিজাইনার রয়েছে: বর্তমান এবং নতুন (বিটাতে)। প্রধান পার্থক্য হল কাস্টমাইজেশন পরিমাণ। বর্তমান প্রজন্মের WebApp ডিজাইনারের খুব সীমিত UI কাস্টমাইজেশন ক্ষমতা রয়েছে, কিন্তু অ্যাডমিন প্যানেল এবং গ্রাহক পোর্টালগুলির স্ট্যান্ডার্ড UI ইন্টারফেস তৈরি করা সহজ এবং সহজ। নতুনটিতে (বর্তমানে বিটাতে) UI লুক এবং ফিল-এর সম্পূর্ণ কাস্টমাইজেশন রয়েছে - SPA (Vue, React way) থেকে লেআউট সহ একটি ফ্লেক্সবক্স পদ্ধতি। উভয় ডিজাইনারের ব্যবসায়িক প্রক্রিয়া রয়েছে, যার মধ্যে ট্রিগার এবং একগুচ্ছ দরকারী ব্লক রয়েছে।

WebApp ধাপ 2 । উপরের প্যানেল (বর্তমান ডিজাইনার) বা বাম প্যানেল (নতুন ডিজাইনার) থেকে UI উপাদানগুলিকে টেনে এবং ড্রপ করে আপনার ওয়েব অ্যাপ্লিকেশনের UI ডিজাইন করা শুরু করুন৷ কিছু উপাদানের জন্য যেগুলির ভিতরে গণনা রয়েছে (যেমন টেবিল এবং তালিকা), আপনাকে উপাদানটিকে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে প্রাথমিক ড্রপ পর্বের সময় ডেটা মডেল নির্বাচন করতে হবে।

ওয়েব অ্যাপ্লিকেশনে 2 ধরনের ব্যবসায়িক প্রক্রিয়া রয়েছে: ট্রিগার এবং স্ট্যান্ডার্ড। ট্রিগারগুলি প্রতিটি UI উপাদানের জন্য এবং অ্যাপ্লিকেশন-ওয়াইড স্কোপের (অ্যাপ ট্রিগার) জন্য উপলব্ধ। UI উপাদানের ট্রিগার অ্যাক্সেস করতে, উপাদানটি নির্বাচন করুন এবং, BP ট্যাবে, একটি তৈরি করুন৷ স্ট্যান্ডার্ড BP-এর বিপরীতে, ট্রিগারের একাধিক স্টার্ট ব্লক থাকে: প্রতিটি ইভেন্টের জন্য একটি ব্লক এবং কোনো শেষ ব্লক নেই। যেহেতু ট্রিগার কখনো কোনো মান ফেরত দেয় না, তাই এন্ড ব্লকের কোনো প্রয়োজন নেই। আপনি এখনও ওয়েব অ্যাপ্লিকেশনগুলিতে স্ট্যান্ডার্ড ব্যবসায়িক প্রক্রিয়া তৈরি করতে পারেন, তবে সেগুলি চালানোর একমাত্র উপায় হল ট্রিগার থেকে কল করা। এটি একটি ভাল পদ্ধতি যা প্রায়শই ব্যবহৃত লজিককে স্ট্যান্ডার্ড ওয়েব BP-এ সরানো এবং এটিকে ট্রিগার থেকে কল করা।

গুরুত্বপূর্ণ অনুগ্রহ করে মনে রাখবেন যে ব্যাকএন্ড BPs ব্যাকএন্ড অ্যাপ্লিকেশনের ভিতরে চলবে, ওয়েব অ্যাপ BP ব্যবহারকারীদের ব্রাউজারে চলবে এবং ওয়েব কাজের চাপ কমানো ব্যবহারকারীর অভিজ্ঞতার জন্য উপকারী হবে।

বেশ কয়েকটি গুরুত্বপূর্ণ অ্যাপ্লিকেশন-স্তরের ট্রিগার রয়েছে। উদাহরণস্বরূপ, যখন ব্রাউজারে একটি অ্যাপ্লিকেশন চালু হয় তখন অ্যাপ অন লঞ্চ ফায়ার হয়। আপনার ব্যবহারকারী প্রমাণীকৃত কিনা তা পরীক্ষা করার জন্য এটি সর্বোত্তম জায়গা এবং, যদি না হয়, সঠিক পৃষ্ঠায় পুনঃনির্দেশ করুন (যদি আপনার আদৌ প্রমাণীকরণের প্রয়োজন হয়)।

আপনার ওয়েব অ্যাপ্লিকেশন স্কিমা সংরক্ষণ করতে ভুলবেন না এবং পরিবর্তনগুলি দেখতে আপনার প্রকল্প প্রকাশ করুন৷

মোবাইল অ্যাপ্লিকেশন

যখন আপনাকে একটি মোবাইল অ্যাপ্লিকেশন তৈরি করতে হবে, তখন প্রক্রিয়াটি একটি ওয়েব অ্যাপ্লিকেশনের মতোই হয়: স্ক্রিন তৈরি করুন, UI উপাদান রাখুন, UI উপাদান ট্রিগার তৈরি করুন, অ্যাপ অন লঞ্চ ট্রিগার সামঞ্জস্য করুন এবং আপনি যেতে প্রস্তুত৷ অ্যাপমাস্টার মোবাইল অ্যাপ্লিকেশনগুলির জন্য কোনও ওয়েব প্রিভিউ নেই, তবে আপনি BLE, NFC এবং ইত্যাদির মতো সমস্ত হার্ডওয়্যার-সম্পর্কিত বৈশিষ্ট্যগুলির সাথে আপনার অ্যাপগুলির লাইভ পূর্বরূপ দেখতে Android এবং IOS-এর জন্য AppMaster বিকাশকারী মোবাইল অ্যাপ্লিকেশন ইনস্টল করতে পারেন৷

আপনি যখন আপনার মোবাইল অ্যাপ ডেভেলপ করা শেষ করেন এবং এটি প্রকাশের জন্য প্রস্তুত হয়, তখন অ্যাপমাস্টার প্রকল্পের সমস্ত মোবাইল অ্যাপ্লিকেশনের তালিকায় প্রসঙ্গ মেনু থেকে একটি বিশেষ প্রকাশনা উইজার্ড উপলব্ধ থাকে। অ্যান্ড্রয়েডের জন্য, অ্যাপমাস্টার APK এবং AAB ফাইল তৈরি করবে যা হতে পারে।

সারসংক্ষেপ

AppMaster হল একটি বড় IDE যেখানে আপনি ডেটা মডেল ডিজাইনার, বিজনেস প্রসেস এডিটর, ওয়েব এবং মোবাইল ডিজাইনারগুলিতে উন্নত ব্লুপ্রিন্টের সাহায্যে আপনার অ্যাপ্লিকেশনগুলির পরিকল্পনা করতে পারেন৷

FAQ

কেন আমাদের প্রতি প্রকল্পে একাধিক অ্যাপ্লিকেশন সহ প্রকল্প দরকার?

AppMaster একটি ক্লায়েন্ট-সার্ভার আর্কিটেকচার ব্যবহার করে এবং একটি মনোলিথ নয়। এমন অনেক ক্ষেত্রে আছে যখন আপনি বৈশিষ্ট্যগুলি আলাদা করার প্রয়োজন হলে আপনি প্রতি প্রকল্পে একাধিক অ্যাপ চান:

  • জটিল প্রকল্প: ট্যাক্সির মতো যখন যাত্রীদের জন্য একটি অ্যাপ এবং একই ব্যাকএন্ডের সাথে কাজ করা ড্রাইভারদের জন্য একটি
  • কাজের চাপে ভারসাম্য আনতে একাধিক ব্যাকএন্ড অ্যাপ্লিকেশন তৈরি করুন এবং পরিবর্তনগুলি সহজ এবং কম ঝুঁকিপূর্ণ করুন

যদিও আপনি ইতিমধ্যেই প্রতিটি প্রকল্পে একাধিক ওয়েব এবং মোবাইল অ্যাপ তৈরি করতে পারেন, আমরা এখনও প্রতি প্রকল্পে একাধিক ব্যাকএন্ড অ্যাপ্লিকেশন চালু করার জন্য কাজ করছি।

উত্পন্ন অ্যাপ্লিকেশনের সুবিধা এবং অসুবিধাগুলি কী কী?

সবচেয়ে সুস্পষ্ট এবং লক্ষণীয় সুবিধাগুলি হল উল্লেখযোগ্যভাবে উচ্চতর কর্মক্ষমতা, স্কেলেবিলিটি, অন-প্রিমিসে চালানোর জন্য বাইনারি ফাইল পাওয়ার ক্ষমতা এবং সার্টিফিকেশন এবং অডিট পাস করার জন্য সোর্স কোড। আমরা ব্যাকএন্ড অ্যাপ তৈরি করতে Go প্রোগ্রামিং ভাষার সর্বশেষ সংস্করণ ব্যবহার করি। Go কম্পাইল করা অ্যাপ্লিকেশনের অনেক কর্মক্ষমতা, একাধিক OS এবং CPU আর্কিটেকচারের জন্য ক্রস-কম্পাইলেশন এবং নমনীয় থাকার মাধ্যমে সামগ্রিক সরলতা দেয়।

সর্বাধিক সাধারণ ত্রুটিগুলি হল প্রতিবার যখন আপনি আপনার ব্লুপ্রিন্টগুলিতে পরিবর্তনগুলি প্রবর্তন করেন তখন অ্যাপটিকে পুনরায় তৈরি এবং তৈরি করার প্রয়োজনীয়তা এবং এটি সাধারণত মাঝারি আকারের প্রকল্পগুলির জন্য গড়ে প্রায় 35-45 সেকেন্ড সময় নেয়। এছাড়াও, আমাদের ক্লাউডে অ্যাপগুলি চালানোর জন্য কিছু অতিরিক্ত জটিলতা এবং খরচ রয়েছে: ডকার কন্টেইনারে আমরা চালানো প্রতিটি অ্যাপ সিপিইউ এবং র‌্যাম ব্যবহার করে (এমনকি নিষ্ক্রিয় হলেও), এবং ডিবি স্কিমা মাইগ্রেশন প্রয়োজন (আমরা এটি স্বয়ংক্রিয়ভাবে করি)।

কিন্তু সাধারণভাবে, কোড-জেনারেটেড অ্যাপ্লিকেশনগুলি ক্লাসিক প্রোগ্রামিং দিয়ে তৈরি করাগুলির মতোই ভাল কাজ করে।

ওয়েব অ্যাপ্লিকেশনে কোন প্রযুক্তি ব্যবহার করা হয়?

আমরা TypeScript (TS) এর সাথে Vue3 ফ্রেমওয়ার্ক ব্যবহার করে ওয়েব অ্যাপ্লিকেশন তৈরি করি। ওয়েব অ্যাপ্লিকেশনগুলি SPA এবং SSG মোডের সংমিশ্রণে কাজ করে। সার্ভার-সাইড রেন্ডারিং (SSR) পরে যোগ করা হবে এবং শুধুমাত্র নতুন ওয়েব অ্যাপ ডিজাইনারের জন্য।

মোবাইল অ্যাপ্লিকেশনে কোন প্রযুক্তি ব্যবহার করা হয়?

আমাদের মোবাইল অ্যাপ্লিকেশনগুলি একটি ঘোষণামূলক ব্যাকএন্ড-চালিত পদ্ধতি ব্যবহার করে তৈরি করা হয়েছে: আমরা IOS, Kotlin, এবং Android এর জন্য Jetpack Compose-এর জন্য Swift এবং SwiftUI-এর সম্পূর্ণ নেটিভ (সবচেয়ে নেটিভ) কোডবেস ব্যবহার করি। প্রযুক্তিগতভাবে মোবাইল অ্যাপ্লিকেশনগুলি সর্বাধিক কার্য সম্পাদনের জন্য JSON এবং Protobuf ব্যবহার করে চাহিদা অনুযায়ী নেটওয়ার্কের মাধ্যমে কনফিগারেশন এবং স্ক্রিনগুলি লোড করে৷ এই পদ্ধতির অনেক সুবিধা রয়েছে: আপনি অ্যাপস্টোর বা প্লে মার্কেটে অ্যাপ্লিকেশনগুলির আপডেট সংস্করণ প্রকাশ করার প্রয়োজন ছাড়াই রিয়েলটাইমে অ্যাপ্লিকেশনগুলি পরিবর্তন করতে পারেন, সম্পূর্ণ অফলাইনে কাজ করতে পারেন এবং সমস্ত হার্ডওয়্যার বৈশিষ্ট্যগুলিতে অ্যাক্সেস থাকতে পারেন৷ আমরা আমাদের মোবাইল অ্যাপ্লিকেশনগুলিতে HTML/JS/ReactNative বা PWA প্রযুক্তি ব্যবহার করি না। অ্যাপমাস্টারে তৈরি মোবাইল অ্যাপগুলিকে অ্যাপস্টোর, প্লে মার্কেট বা অন্য কোনো ডিস্ট্রিবিউশন প্ল্যাটফর্মের মাধ্যমে বিতরণ করা প্রয়োজন (প্রযুক্তিগতভাবে, আপনি অ্যান্ড্রয়েডের জন্য apk/aab ফাইলগুলি ভাগ করতে পারেন, তবে এটি অনেক প্রচেষ্টা)।

আপনি ডিফল্টরূপে অ্যাপ্লিকেশনগুলি কোথায় হোস্ট করবেন?

আমরা আমাদের গ্রাহকদের সবচেয়ে নির্ভরযোগ্য এবং পরিমাপযোগ্য পরিষেবা অফার করার জন্য AWS পরিকাঠামোর উপরে অ্যাপমাস্টার ক্লাউড তৈরি করেছি। ডিফল্টরূপে, যেকোনো সাবস্ক্রিপশন সহ গ্রাহকরা 3টি মূল অঞ্চলের একটি ব্যবহার করতে পারেন: উত্তর আমেরিকা (মার্কিন যুক্তরাষ্ট্র), ইউরোপ (জার্মানি), এশিয়া। উত্সর্গীকৃত হোস্টিং পরিকল্পনার জন্য আমাদের কাছে বেশিরভাগ AWS অঞ্চল উপলব্ধ রয়েছে (মূল অবস্থানের বাইরে)। আপনার আবেদন হোস্ট করার জন্য আপনার যদি একটি নির্দিষ্ট দেশের প্রয়োজন হয় - আমাদের জানান।

আমি কিভাবে আমার অ্যাপ্লিকেশনের অ্যাপ্লিকেশন বান্ডিল, বাইনারি বা সোর্স কোড পেতে পারি?

বাইনারি ফাইল বা বান্ডিল পেতে, আপনার কমপক্ষে একটি ব্যবসায়িক সদস্যতা থাকতে হবে। ব্যাকএন্ড অ্যাপ্লিকেশনগুলি আর্টিফ্যাক্ট স্টোর থেকে বাইনারি ফাইল হিসাবে ডাউনলোড করা যেতে পারে বা আমাদের রেজিস্ট্রি থেকে ডকার পুলের মাধ্যমে টানা যেতে পারে (যেমন ডকার হাব)। মোবাইল এবং ওয়েব বান্ডেলগুলি আর্টিফ্যাক্ট স্টোর থেকেও ডাউনলোড করা যেতে পারে। আপনি শিখুন এবং অন্বেষণ ব্যতীত যেকোনো সাবস্ক্রিপশন সহ মোবাইল অ্যাপ বান্ডেল ডাউনলোড করতে পারেন। অ্যাপ্লিকেশনের সোর্স কোড পেতে, আপনার একটি এন্টারপ্রাইজ সাবস্ক্রিপশন থাকতে হবে। একটি এন্টারপ্রাইজ সাবস্ক্রিপশনের সাথে, আপনি ব্যাকএন্ড এবং ওয়েব অ্যাপ্লিকেশনগুলির একটি সম্পূর্ণ সোর্স কোড পাবেন তবে মোবাইল অ্যাপ্লিকেশনগুলির একটি সীমিত কোড বেস যেহেতু আমরা সেখানে একটি ব্যাকএন্ড-চালিত পদ্ধতি ব্যবহার করি৷

একটি মডেল এবং একটি ভার্চুয়াল মডেল মধ্যে পার্থক্য কি?

আমরা মডেল শব্দটি ব্যবহার করি সেই কাঠামোকে নির্দেশ করার জন্য যার জন্য আমরা একটি ডাটাবেসে টেবিল তৈরি করব এবং সেই ডাটাবেস টেবিলে মৌলিক ক্রিয়াকলাপ যেমন অনুসন্ধান, রেকর্ড তৈরি এবং ইত্যাদি করার জন্য স্বয়ংক্রিয়ভাবে ডিবি ব্লক তৈরি করব। ভার্চুয়াল মডেলগুলি একই, আমরা ছাড়া টেবিল তৈরি করবেন না এবং কোন ডিবি ব্লক থাকবে না। ভার্চুয়াল মডেলগুলি বেশিরভাগ বিকাশকারীদের দ্বারা সর্বাধিক পছন্দের বৈশিষ্ট্যগুলির মধ্যে একটি ছিল। ভার্চুয়াল মডেলগুলির জন্য সবচেয়ে ঘন ঘন ব্যবহারের ক্ষেত্রে যখন আপনাকে একটি কাঠামো তৈরি করতে হবে (যেমন JS বা JSON-এ অবজেক্ট) এবং এটি বহিরাগত অনুরোধ, UI উপাদান বা শেষ পয়েন্টগুলির জন্য ব্যবহার করুন৷ এটা কৌতূহলজনক যে ব্যাকএন্ড অ্যাপ্লিকেশনগুলিতে সংজ্ঞায়িত মডেলগুলি স্বয়ংক্রিয়ভাবে ওয়েব এবং মোবাইল অ্যাপ্লিকেশনগুলিতে ভার্চুয়াল হিসাবে উপস্থিত হয়: ওয়েব এবং মোবাইল অ্যাপ্লিকেশনগুলিতে আপনাকে কাজ করতে সক্ষম হওয়ার জন্য যে কোনও ডেটা কাঠামো সম্পর্কে জানতে হবে৷

আমি কীভাবে ব্যবসায়িক প্রক্রিয়াগুলিতে মডেলগুলির সাথে কাজ করতে পারি? কিভাবে ক্ষেত্র এবং ইত্যাদি বের করতে হয়

প্রতিটি মডেলের জন্য, আমরা ব্লক তৈরি এবং প্রসারিত করি। মেক মডেল রেকর্ডে ক্ষেত্রগুলি সংগ্রহ করবে, প্রসারিত করবে মডেল রেকর্ড থেকে ক্ষেত্রগুলি বের করবে৷ অনুগ্রহ করে মনে রাখবেন যে এই ব্লকগুলি ব্লকগুলির ইনপুটে পাস করা প্রাথমিক ডেটাকে পরিবর্তন করে না।

আমি কিভাবে স্থানীয় বা গ্লোবাল ভেরিয়েবলের জন্য মান সেট করতে পারি?

আপনি যে সমস্ত ব্লক ব্যবহার করবেন তা ইনপুটে পাস করার সময় প্রাথমিক ডেটা পরিবর্তন করবে না। একমাত্র ব্লক যা ডেটা পরিবর্তন করে তা হল সেট ভেরিয়েবল: ভেরিয়েবল এবং মান সংযোগ করুন এবং ব্লক কার্যকর করার পরে, আপনি ভেরিয়েবলের ভিতরে আপনার মান পাবেন। মোবাইল এবং ওয়েব অ্যাপ্লিকেশানগুলিতে গ্লোবাল ভেরিয়েবলের স্থিরতা থাকতে পারে এবং উপযুক্ত পতাকা সেট করা থাকলে অ্যাপ্লিকেশনের পুনঃসূচনা থেকে বেঁচে থাকবে৷

আমি কিভাবে একটি বহিরাগত সিস্টেমে একটি API কল করতে পারি?

বাহ্যিক সিস্টেমে অনুরোধ করার সর্বোত্তম উপায় হল আপনার ব্যাকএন্ড অ্যাপ্লিকেশন থেকে। এটি করার মাধ্যমে, আপনি ডেটা এবং সুরক্ষার উপর আরও নিয়ন্ত্রণ পাবেন। আপনি কিভাবে এটি করতে পারেন দুটি উপায় আছে:

  • HTTP অনুরোধ ব্লক ব্যবহার করা এটি করার সবচেয়ে সহজ উপায়, আপনি এটি যেকোনো ব্যাকএন্ড বিপিতে ব্যবহার করতে পারেন
  • বাহ্যিক API ডিজাইনার ব্যবহার করে প্রথমে একটি অনুরোধ তৈরি করুন এবং তারপরে আপনার BP-এর ভিতরে তৈরি করা ব্লক ব্যবহার করুন।

আপনি শুধুমাত্র ব্যাকএন্ড অ্যাপ্লিকেশনে নয় বরং ওয়েব এবং মোবাইলেও বহিরাগত সিস্টেমে কল করার জন্য HTTP অনুরোধ ব্লক ব্যবহার করতে পারেন, আপনার এটি করার কারণ থাকতে হবে: যখন আপনার ফ্রন্টএন্ড অ্যাপ স্থানীয় নেটওয়ার্কে ডিভাইসে একটি কল করতে চায়, অথবা যদি এটি 3য় পক্ষের সিস্টেমের জন্য ডিজাইন দ্বারা হয়।

বহিরাগত সিস্টেমে কল করার সময় কোন ধরনের অনুরোধ এবং প্রোটোকল সমর্থিত হয়?

এখন পর্যন্ত, আমরা JSON বা XML পেলোড, প্লেইন টেক্সট বা বাইনারি পেলোডের সাথে REST API অনুরোধ সমর্থন করি। gRPC এখনও সমর্থিত নয়, কিন্তু আমরা আমাদের ব্র্যান্ড-নতুন এক্সটার্নাল API ডিজাইনারের সাথে পরবর্তী মাসগুলিতে এটি চালু করার জন্য সক্রিয়ভাবে কাজ করছি।

AppMaster-তৈরি করা অ্যাপ্লিকেশন কি WebSockets সমর্থন করে?

হ্যাঁ, আপনি ব্যাকএন্ড অ্যাপ্লিকেশনে WSS এন্ডপয়েন্ট তৈরি করতে পারেন এবং সেগুলিকে ওয়েব বা মোবাইল অ্যাপের মধ্যে যোগাযোগ করতে ব্যবহার করতে পারেন। এছাড়াও, আপনি WSS এন্ডপয়েন্ট তৈরি করার সময় মডেল ব্যবহার করে আপনার নিজস্ব পেলোড কাঠামো সংজ্ঞায়িত করতে পারেন। WebSockets ব্যবহার করে বহিরাগত সিস্টেমের সাথে যোগাযোগ বাস্তবায়িত হয় না।

আমি কিভাবে একটি ওয়েব বা মোবাইল অ্যাপ্লিকেশন থেকে ব্যাকএন্ড এন্ডপয়েন্ট কল করতে পারি?

ব্যাকএন্ড অ্যাপ্লিকেশনে আপনার তৈরি করা প্রতিটি এন্ডপয়েন্টের জন্য, প্ল্যাটফর্মটি ওয়েব এবং মোবাইল অ্যাপের জন্য সার্ভার অনুরোধ টি ব্লক তৈরি করে। যেকোন ট্রিগারে সেই ব্লকটি রাখুন এবং এটিকে কল করুন। আপনি ব্রাউজার ডেভেলপার কনসোল, নেটওয়ার্ক অনুরোধ ট্যাবে সার্ভার অনুরোধ ব্লক এক্সিকিউশন নিরীক্ষণ করতে পারেন। মোবাইল অ্যাপে, আপনি লগ ব্যবহার করতে পারেন (অবশ্যই প্রথমে অ্যাপমাস্টার ডেভেলপার অ্যাপ সেটিংসে সক্রিয় করতে হবে)।

আমি কি কাস্টম প্রমাণীকরণ এবং সাইনআপ তৈরি করতে পারি?

অবশ্যই, আপনি অন্তর্নির্মিত প্রমাণীকরণ মডিউলটি সম্পূর্ণরূপে অক্ষম করতে পারেন এবং একটি সম্পূর্ণ কাস্টম সমাধান তৈরি করতে পারেন৷ আপনাকে ব্যাকএন্ড অ্যাপ্লিকেশনে একটি পৃথক BP তৈরি করতে হবে যা প্রমাণীকরণ টোকেন ট্র্যাকশন পরিচালনা করবে (সাধারণত অনুরোধ শিরোনাম থেকে) এবং আপনার নিয়ম অনুযায়ী পরীক্ষা করবে। আপনি BP ব্লক গেট রিকোয়েস্ট হেডার ব্যবহার করে রিকোয়েস্ট হেডার পেতে পারেন। অনুগ্রহ করে মনে রাখবেন যে একবার আপনি অন্তর্নির্মিত প্রমাণীকরণ নিষ্ক্রিয় করবেন, আপনি বর্তমান ব্যবহারকারী ব্লক ব্যবহার করতে পারবেন না। এছাড়াও, আপনি স্ট্যান্ডার্ড Auth মডিউল সহ ইমেলের পরিবর্তে যেকোনো আইডি, ফোন নম্বর বা অন্য শনাক্তকারী ব্যবহার করতে পারেন।

নির্ভরযোগ্য কাউন্টার এবং অন্যান্য আদেশকৃত মৃত্যুদণ্ডের ক্ষেত্রে থ্রেড-নিরাপদ ক্রিয়াকলাপ তৈরি করার কোন উপায় আছে কি?

AppMaster ব্যবসায়িক প্রক্রিয়া সম্পাদনের জন্য একটি একক-থ্রেড মোড সমর্থন করে যখন ব্যবসায়িক প্রক্রিয়ার সমস্ত কল একটি কঠোর ক্রমে, একবারে এককভাবে সম্পাদিত হয়। এই মোডের উচ্চ কাজের চাপ পরিস্থিতির জন্য একটি কর্মক্ষমতা জরিমানা থাকতে পারে, কিন্তু বেশিরভাগ ক্ষেত্রে, এটি কোনো উল্লেখযোগ্য কর্মক্ষমতা অবনতি ঘটায় না। দয়া করে মনে রাখবেন এই মোডের কল স্ট্যাক (সারি) সীমিত।

এসএমএস, ইমেল বা ওটিপি সহ 2FA?

হ্যাঁ, আপনি 2FA পদ্ধতিগুলি অন্তর্ভুক্ত করতে আপনার প্রমাণীকরণের যুক্তি সামঞ্জস্য করতে পারেন। এসএমএস বা ইমেল ব্যবহার করতে, আপনাকে অবশ্যই Twilio-এর মতো বাহ্যিক প্রদানকারীর সাথে সংযোগ করতে হবে। সবচেয়ে সহজ উপায় হল সেশনগুলি প্রসারিত করা এবং সেশনে 2FA নিয়ন্ত্রণ করার জন্য অতিরিক্ত ক্ষেত্রগুলি অন্তর্ভুক্ত করে৷ Q3 2023-এ, আমরা একটি সময়-ভিত্তিক OTP মডিউল চালু করব যা Google এবং Microsoft প্রমাণীকরণকারীর সাথে কাজ করবে।

আমি কি অন্য ওয়েব বা মোবাইল অ্যাপ্লিকেশনের সাথে অ্যাপমাস্টার-জেনারেটেড ব্যাকএন্ড ব্যবহার করতে পারি?

হ্যাঁ, অ্যাপমাস্টার-জেনারেট করা ব্যাকএন্ড অ্যাপ্লিকেশনগুলির স্ট্যান্ডার্ড REST API এন্ডপয়েন্ট রয়েছে। প্রতিটি অ্যাপ্লিকেশনের জন্য, REST API ডকুমেন্টেশন (OpenAPI/Swagger) স্বয়ংক্রিয়ভাবে তৈরি হয় এবং একটি পৃথক এন্ডপয়েন্টে পরিবেশন করা হয়।

আমি কি প্রকল্প বা অ্যাপ্লিকেশন তৈরি করতে টেমপ্লেট ব্যবহার করতে পারি?

আমাদের কাছে এখনও টেমপ্লেট নেই, তবে এটি এমন কিছু যা আমরা অদূর ভবিষ্যতে প্রকাশ করব। AppMaster প্রজেক্টগুলি WebFlow বা Bubble-এর চেয়ে জটিল এবং সেগুলি বাস্তবায়নের জন্য আমাদের আরও সময় প্রয়োজন৷

অ্যাপমাস্টার কোন ধরনের ডাটাবেস সমর্থন করে?

AppMaster-জেনারেট করা ব্যাকএন্ড অ্যাপ্লিকেশন PG12 থেকে শুরু করে যেকোনো PostgreSQL-সামঞ্জস্যপূর্ণ ডাটাবেসের সাথে কাজ করে, কিন্তু আমরা PostgreSQL DB (এই নথির মুহূর্তে 15.3) এর সর্বশেষ উপলব্ধ সংস্করণ ব্যবহার করার পরামর্শ দিই। MSSQL, MariaDB, MySQL, এবং SQLite সমর্থন পরিকল্পনা করা হয়েছে এবং 2023-এর শেষে/2024 সালের প্রথম দিকে যোগ করা হবে।

রেকর্ড সম্পাদনা করতে আমি কিভাবে সরাসরি ডাটাবেস অ্যাক্সেস করতে পারি?

অ্যাপমাস্টার অ্যাপমাস্টার ক্লাউডে হোস্ট করা অ্যাপ্লিকেশনগুলির জন্য সরাসরি ডিবি অ্যাক্সেস সমর্থন করে না। আপনি যদি অন-প্রিমিস হোস্টিং ব্যবহার করেন, আপনি PGAdmin বা pgsql কমান্ড-লাইন টুল ব্যবহার করে যেকোনো ভিজ্যুয়াল টুল ব্যবহার করে DB অ্যাক্সেস করতে পারেন। ভবিষ্যতে, গ্রাহকদের সরাসরি DB সম্পাদনা করতে দেওয়ার জন্য আমরা একটি বৈশিষ্ট্য যুক্ত করব।

কোন রিয়েল-টাইম সহযোগিতা আছে? আমরা কি একই প্রকল্পে একটি দল হিসাবে কাজ করতে পারি?

আমাদের শুধুমাত্র নতুন ওয়েব ডিজাইনারে একটি রিয়েল-টাইম সহযোগিতা আছে। নতুন ওয়েব ডিজাইনার (বিটা) সমস্ত ব্যবহারের কেস কভার করতে এবং স্টেট ম্যানেজমেন্ট (Ctrl+Z, অপারেশন রোলব্যাক) দিতে কনফ্লিক্ট-ফ্রি রেপ্লিকেটেড ডেটা টাইপ প্রোটোকল (CRDT) সহ নেটওয়ার্ক ড্রাফ্ট ব্যবহার করে। আমরা ভবিষ্যতে ধাপে ধাপে বিপি এডিটর এবং ডেটা মডেল ডিজাইনারকে ধীরে ধীরে CRDT রোল করব। আপনি যদি একটি দল হিসাবে কাজ করতে চান, অনুগ্রহ করে ডেটা মডেল স্কিমা, একই BP, বা একই ওয়েব/মোবাইল অ্যাপ সম্পাদনা করবেন না কারণ এটি ডেটা ক্ষতির কারণ হতে পারে৷

অ্যাপমাস্টারের কোন গুরুত্বপূর্ণ বৈশিষ্ট্যের অভাব হতে পারে?

  • ভিজ্যুয়াল এসকিউএল ডিজাইনার । যদিও বেশিরভাগ মৌলিক ক্রিয়াকলাপ যেমন ফিল্টার এবং যোগদানের মাধ্যমে অনুসন্ধান করা, আইডি দ্বারা একটি রেকর্ড পাওয়া, আপডেট, প্যাচ, মুছে ফেলা এবং সফ্ট ডিলিট সমর্থিত, তবে আরও ভাল নমনীয়তা এবং কার্যকারিতার জন্য, আমরা ভিজ্যুয়াল SQL ডিজাইনারে কাজ করছি এবং এটি অক্টোবরে প্রকাশিত হবে 2023।
  • ব্যাকএন্ড মাইক্রো সার্ভিসেস আমরা প্রতি প্রকল্পে একাধিক ব্যাকএন্ড অ্যাপ্লিকেশন বাস্তবায়নে সক্রিয়ভাবে কাজ করছি। এখন পর্যন্ত, আপনি প্রতি প্রকল্পে শুধুমাত্র একটি ব্যাকএন্ড অ্যাপ তৈরি করতে পারবেন।
  • ওয়েব অ্যাপ্লিকেশনের জন্য এখনো কোনো SSR নেই । সর্বাধিক অপ্টিমাইজ করা ওয়েব অ্যাপ্লিকেশন এবং ওয়েবসাইটগুলির জন্য, এসএসআর এসইও এর জন্য অতিরিক্ত সুবিধা যোগ করে। ETA নভেম্বর-2023।
  • বাহ্যিক API অনুরোধের জন্য gRPC সমর্থন । সিস্টেমের মধ্যে আন্তঃসংযোগের সম্ভাবনা প্রসারিত করার জন্য আমরা প্রোটোবাফ পেলোড এবং কম্প্রেশন বিকল্পগুলির সাথে gRPC যোগ করার পরিকল্পনা করছি।
  • প্রকল্পের টেমপ্লেট, ওয়েব এবং মোবাইল অ্যাপ্লিকেশন । আমরা টেমপ্লেট প্রবর্তন কাজ করছি. আমরা 2023 সালের সেপ্টেম্বরে প্রথম ধাপ হিসেবে ওয়েব অ্যাপ টেমপ্লেট যোগ করব। পুরো প্রোজেক্ট টেমপ্লেটের এখনও কোনো ETA নেই।
Was this article helpful?

AppMaster.io 101 ক্র্যাশ কোর্স

10 মডিউল
2 সপ্তাহ

কোথা থেকে শুরু করবেন নিশ্চিত নন? নতুনদের জন্য আমাদের ক্র্যাশ কোর্সে যান এবং A থেকে Z পর্যন্ত AppMaster অন্বেষণ করুন।

কোর্স শুরু করুন
Development it’s so easy with AppMaster!

আরো সাহায্য প্রয়োজন?

আমাদের বিশেষজ্ঞদের সাহায্যে যেকোনো সমস্যা সমাধান করুন। সময় বাঁচান এবং আপনার অ্যাপ্লিকেশন তৈরিতে ফোকাস করুন।

headphones

যোগাযোগ সমর্থন

আপনার সমস্যা সম্পর্কে আমাদের বলুন, এবং আমরা আপনাকে একটি সমাধান খুঁজে বের করব।

message

সম্প্রদায় চ্যাট

আমাদের চ্যাটে অন্যান্য ব্যবহারকারীদের সাথে প্রশ্ন নিয়ে আলোচনা করুন।

কমিউনিটিতে যোগ দিন