අදහසක්, සැලැස්මක් සහ හොඳ සැලසුමක් ඇති පසු, ඔබේ සිහිනය යථාර්ථයක් බවට පත් කරන කොටස තමයි කෝඩ් ලිවීම. මෙම පියවරේදී, අපි ඇප් එකක ඉදිරිපස (Frontend) සහ පසුපස (Backend) කොටස්, කෝඩ් කිරීමේ පියවර සහ හොඳම භාවිතයන් ගැන සවිස්තරාත්මකව සාකච්ඡා කරමු.
මොබයිල් ඇප් එකක් නිර්මාණය කිරීමේදී ප්රධාන කොටස් දෙකක් තිබෙනවා. මෙය නිවසක් ගොඩනැගීමේදී, නිවසේ පෙනුම (ඉදිරිපස) සහ එහි ශක්තිමත් පදනම (පසුපස) අතර ඇති සම්බන්ධයට සමානයි.
Frontend යනු ඇප් එකේ පෙනුමයි. එනම්, ඔබ ඇප් එක විවෘත කළ විට දකින සියලුම දේවල්—බොත්තම්, පින්තූර, පෙළ, සහ layout එක —මෙහිදී නිර්මාණය කෙරේ. මෙය පරිශීලකයාට ඇප් එක සමඟ සෘජුවම අන්තර්ක්රියා කළ හැකි කොටසයි. අපි සාමාන්යයෙන් UI/UX සැලසුමේදී සකස් කරගත් සැලසුම අනුව Frontend එක කෝඩ් කරනවා. මේ සඳහා Flutter (Dart) හෝ React Native (JavaScript) වැනි තාක්ෂණික Frameworks භාවිතා කරනවා.
Frontend සංවර්ධනයේදී සිදුවන්නේ පරිශීලකයාගේ ක්රියා (උදා: බොත්තමක් එබීම, පෙළක් ඇතුළු කිරීම) හසුරුවා, Backend වෙත දත්ත යවා, නැවත ලැබෙන දත්ත පරිශීලකයාට පෙන්වීමට අවශ්ය කෝඩ් ලිවීමයි. මෙය පරිශීලක අත්දැකීම (UX) සැබවින්ම ක්රියාත්මක කරන පියවරයි.
Backend එක යනු ඇප් එකේ පිටුපසින් ක්රියාත්මක වන තර්කනයයි (logic). මෙය පරිශීලකයාට නොපෙනුනත්, ඇප් එකේ සියලුම වැදගත් කටයුතු සිදුවන්නේ මෙහිදීයි. දත්ත ගබඩා කිරීම, පරිශීලකයින් කළමනාකරණය කිරීම (ලියාපදිංචි වීම, ලොග් වීම), මුදල් ගනුදෙනු හැසිරවීම, සහ ගිණුම් තොරතුරු සුරක්ෂිතව තබා ගැනීම වැනි සංකීර්ණ කටයුතු සිදු වේ. ඔබට දත්ත සුරැකීමට හෝ පරිශීලකයන් කිහිප දෙනෙකුට එකවර ඇප් එක භාවිතා කිරීමට අවශ්ය නම්, Backend එකක් අත්යවශ්යයි.
Backend සංවර්ධනය සඳහා Python (Django/Flask), Node.js, PHP, හෝ Java වැනි භාෂා භාවිතා කරනවා. දත්ත ගබඩා කිරීම සඳහා Firebase, MongoDB, හෝ MySQL වැනි දත්ත සමුදා පද්ධති (Databases) යොදාගනී. Firebase වැනි සේවා ආරම්භකයින්ට ඉතා පහසුයි, මොකද එය දත්ත ගබඩා කිරීම, පරිශීලක authentication සහ hosting වැනි දේවල් ඉතා පහසුවෙන් සපයනවා.
ඔබේ ව්යාපෘතියේ අරමුණ අනුව මෙම පියවර වෙනස් විය හැක. නමුත් පොදුවේ ගත් කල, මෙම ක්රියාවලිය පහත අනුපිළිවෙලට සිදුවේ. මෙය ආරම්භක සංවර්ධකයෙකුට කදිම මාර්ගෝපදේශයකි.
මුලින්ම, ඔබ ඇප් එක නිර්මාණය කරන පරිගණකයේ අවශ්ය සියලුම මෘදුකාංග ස්ථාපනය කරගන්න. ඔබ Flutter භාවිතා කරනවා නම්, Flutter SDK එක, Visual Studio Code (VS Code) වැනි කෝඩ් එඩිටරයක් (code editor), සහ Dart plugin එක ස්ථාපනය කළ යුතුයි. React Native සඳහා Node.js සහ VS Code අවශ්ය වේ. අවශ්ය දේවල් ස්ථාපනය කරගත් පසු, ඔබගේ IDE එකේ (VS Code වැනි) Flutter Doctor කමාන්ඩ් එක භාවිතා කර සියල්ල නිවැරදිව ස්ථාපනය වී ඇත්දැයි පරීක්ෂා කරගන්න.
flutter doctor
මෙම කමාන්ඩ් එක මඟින් ඔබේ පරිගණකයේ ඇති අඩුපාඩු පෙන්වා දෙනවා. උදාහරණයක් ලෙස, Android SDK එක ස්ථාපනය වී නැතිනම් ඒ පිළිබඳව පණිවිඩයක් ලැබෙනවා.
දැන් ඔබගේ පරිසරය සූදානම්. ඔබ තෝරාගත් Framework එක භාවිතා කර අලුත් ව්යාපෘතියක් ආරම්භ කරන්න. මෙය ඔබගේ කෝඩ් ගොනු ගබඩා කරගැනීමට අවශ්ය ව්යුහය (structure) ස්වයංක්රීයව සකස් කර දෙනවා. උදාහරණයක් ලෙස Flutter හිදී, command line එකේ පහත කමාන්ඩ් එක භාවිතා කළ හැකිය:
flutter create my_first_app
මෙය my_first_app නමින් නව ෆෝල්ඩරයක් සාදා, එහි Flutter ඇප් එකක් සඳහා අවශ්ය මූලික කෝඩ් සහ ෆයිල් සියල්ල එකතු කරයි. මෙම මූලික ව්යාපෘතිය run කර බලන විට, ඔබට බොත්තමක් එබූ විට සංඛ්යාවක් වැඩි වන සරල ඇප් එකක් දැකගත හැකිය. මෙය ඔබට පළමු සාර්ථකත්වයක් ලබා දෙනවා.
දැන් ඔබේ UI/UX සැලසුමට අනුව ඇප් එකේ පෙනුම නිර්මාණය කිරීම ආරම්භ කරන්න. ඔබ Flutter භාවිතා කරනවා නම්, මේ සඳහා Widgets භාවිතා කළ යුතුයි. Widgets කියන්නේ ඇප් එකක් හදන්න අවශ්ය කොටස්. උදාහරණයක් ලෙස, පෙළක් පෙන්වීමට Text Widget එක, බොත්තමක් සඳහා ElevatedButton Widget එක සහ පිටු අතර layout එක සඳහා Column සහ Row වැනි Widgets භාවිතා කරයි.
Flutter කෝඩ් උදාහරණයක්:
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('මගේ පළමු ඇප් එක'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text(
'සුබ පැතුම්, ඔබ ඇප් එකක් සාදමින් සිටියි!',
),
ElevatedButton(
onPressed: () {
// බොත්තම එබූ විට සිදුවිය යුතු දේ මෙහි ලියන්න
},
child: const Text('මෙහි ඔබන්න'),
),
],
),
),
),
);
}
}
මෙම කෝඩ් කොටස මඟින් සරල පිටුවක්, එහි මාතෘකාවක්, පෙළක් සහ බොත්තමක් සාදාගන්නා ආකාරය දැක්වේ. Flutter හි ඇති Hot Reload පහසුකම නිසා, ඔබ කෝඩ් එකේ කරන වෙනස්කම් ක්ෂණිකව ඇප් එකේ දැකගත හැකියි. මෙය සංවර්ධන ක්රියාවලිය ඉතා වේගවත් කරනවා.
ඔබේ ඇප් එකට දත්ත ගබඩා කිරීම හෝ පරිශීලකයින් කළමනාකරණය කිරීම අවශ්ය නම්, දැන් Backend එක සම්බන්ධ කරන්න. ඔබට Firebase වැනි Backend-as-a-Service (BaaS) එකක් භාවිතා කළ හැකියි. Firebase භාවිතා කරන්නේ නම්, ඔබට දත්ත සමුදාය, authentication, සහ ගබඩා කිරීමේ සේවා (storage) ඉතා පහසුවෙන් ක්රියාත්මක කරගන්න පුළුවන්. මෙය කෝඩ් කිරීමේදී ඇති සංකීර්ණතා අඩු කරනවා.
උදාහරණයක්: Firebase භාවිතා කර දත්ත ගබඩා කිරීම
// Flutter කෝඩ් එකක Firebase භාවිතා කරන ආකාරය
Future<void> addUser() async {
// Firebase Firestore database එකට දත්ත එකතු කිරීම
CollectionReference users = FirebaseFirestore.instance.collection('users');
return users
.add({
'full_name': 'John Doe',
'age': 30,
'city': 'Colombo'
})
.then((value) => print("User Added"))
.catchError((error) => print("Failed to add user: $error"));
}
දැන් ඔබේ ඇප් එකේ කෝඩ් එකට ප්රධාන ක්රියාකාරීත්වය (functionality) එකතු කරන්න. උදාහරණයක් ලෙස, පරිශීලකයෙකුගේ Login තොරතුරු පරීක්ෂා කිරීම, දත්ත සමුදායෙන් තොරතුරු කියවීම, සහ පරිශීලකයා ඇතුළු කරන දත්ත Database එකට සුරැකීම වැනි දේවල් මෙහිදී සිදු වේ. මේවා ඇප් එකේ තර්කනය (logic) අනුව සකස් කළ යුතුයි.
හොඳ වැඩසටහන්කරුවෙකු වීමට, කෝඩ් ලිවීමේදී යම් හොඳ පුරුදු අනුගමනය කිරීම වැදගත්. මෙය ඔබේ කෝඩ් එක කියවීමට, තේරුම් ගැනීමට, සහ පවත්වාගෙන යාමට පහසු කරනවා.
කෝඩ් කිරීම යනු නිරන්තරයෙන් ඉගෙන ගන්නා සහ ගැටලු විසඳන ක්රියාවලියකි. ආරම්භයේදී දෝෂ (errors) ඇති වීම සාමාන්ය දෙයකි. නමුත් ඒවා විසඳීමෙන් ඔබගේ දැනුම වැඩිදියුණු වේ. කෝඩ් ලිවීම යනු ඔබේ ඇප් අදහස සැබෑ ජීවිතයට ගෙන ඒමේ ප්රධාන පියවරයි. මේ පියවර හොඳින් සිදු කළ පසු, ඔබට ඊළඟ පියවර වන 'පරීක්ෂා කිරීම' වෙත යා හැකිය.
සාර්ථක සංවර්ධනයක් වේවා! 🚀