අද කාලයේ බොහෝ වෙබ් ප්රොග්රෑම් එකතු කරගෙන යන “මැජික්” ගැන කතා කරමු. ප්රචලිත Framework ගොඩක් පරිශීලකයින්ට සරල පියවරක් පමණක් අනුගමනය කළොත්, ඉඩකඩවල් සියල්ලම ස්වයංක්රීයව සකස් වේ. ඒත් ඒ මැජික් එකේ නීති පිළිපදින්න බැරි වුනොත්, ඔබට තනිවම ඉදිරියට යාමට සිදුවේ.
File‑based routing කියන්නේ, ඔබේ ප්රොජෙක්ට් ෆෝල්ඩර ගොනු ව්යුහය පදනම් කරගෙන URL ගොඩනැගීමයි. Next.js වගේ Framework එකක app/about-us/page.tsx ගොනුවක් තබා දැමුවොත්, https://localhost:3000/about-us යන ලිපිනය ස්වයංක්රීයව ක්රියාත්මක වේ. ගොනුවේ නාමය වෙනස් කරද්දී URL එකත් ඒ අනුව වෙනස් වේ. මෙය Framework එකේ අභ්යන්තර “routing table” එකක් ලෙස ක්රියා කරයි.
Wasp නම් TypeScript‑ඇසුරුම්කළ, batteries‑included පූර්ණ‑ස්ටැක් Framework එකක් මේ සංකල්පයට වෙනස් කෝණයක් ගෙන එයි. Wasp හි මූලික අදහස “Explicit Spec” ය. ඔබගේ ඇප් එකේ රූට්, පිටු, authentication, queries, cron jobs වගේ අංග සියල්ලක් කේතයෙන්ම ප්රකාශ කරයි. එම Spec එක Framework එකට අවශ්ය සියලු කොටස් සම්බන්ධ කරයි.
අලුතින් Wasp හි Spec එක main.wasp.ts ලෙස Node.js/TypeScript ප්රොග්රෑම් එකක් බවට පත්වී ඇත. එය සාමාන්ය JSON ගොනුවක් නොව, npm ලයිබ්රරී, පරිසර විචල්ය, API ඇමතුම් වැනි කිසිවක් භාවිතා කළ හැකි සම්පූර්ණ කේතයක්. එකම අවශ්යතාවය වන්නේ අවසානයේ export default app(...) එකක් තිබීමයි. මේ නිසා Spec එක “programmatic” වශයෙන් ලියන්න පුළුවන්, එමඟින් File‑based routing ක්රියාවලියද කේතයෙන්ම සකස් කළ හැක.
අපි දැන් 50 පේළි කේතයක් තුළ ඔබේම router එක නිර්මාණය කරන ආකාරය පෙන්වමු. src/ ෆෝල්ඩරය තුළ සියලු .tsx පිටු සොයා, ඒවායේ මාර්ගය හා පිටුවේ නාමය route() හා page() විධාන වලට පවරා, එක් ලයිස්තුවක් ලෙස Spec එකේ ඇතුළත් කරමු. මෙයින් Framework එකේ “magic” අභ්යන්තරයෙන් ඔබේ රෙපොසිටරියට පෙනෙන සාමාන්ය කේතයක් බවට පත්වේ.
මෙම පදනමෙන්, ඔබට අවශ්ය ඕනෑම convention එකක්, logged‑in / logged‑out වෙන් කිරීම, හෝ පරිශීලක අවසර පාලන ක්රමයක්, සියල්ලම ඔබේම පරිදි සැකසිය හැක. Framework එකේ පෙරනිමි conventions වලට අනුගත වීමට සිදුවන්නේ නැත, එයින් “best of both worlds” ලැබේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
- සිසුන් – විශ්වවිද්යාලය හෝ තාක්ෂණ පාඨමාලා අතර, File‑based routing ක්රමය තේරුම් ගැනීමෙන් කේත සැලසුම් පිළිබඳ අවබෝධය ඉහළ යයි.
- ඩිවෙලපර්ලා – Wasp Spec එකේ TypeScript භාවිතයෙන්, තමන්ගේම routing conventions නිර්මාණය කරගනිමින්, වැඩි පාරදර්ශීත්වයක් සහ AI code‑assistant සමඟ වැඩ කිරීමේ පහසුවක් ලබා ගනී.
- ව්යාපාර – කෝඩ්‑බේස් එකේ “magic” අඩු කර, maintainability හා scalability වැඩි කර, ඉක්මනින් නව පරිශීලක අංග හෝ API එක්ක එකතු කරගත හැක.
ඉදිරි කාලයේ ඔබේ ව්යාපාරය හෝ පෞද්ගලික ව්යාපෘතියේ routing අවශ්යතා Wasp Spec සමඟ ඔබම නිර්මාණය කර, ලෝකයේ නවතම “explicit” පද්ධතියෙන් ප්රතිලාභ ලබා ගන්න.