Rust භාෂාවෙහි වෙබ් සංවර්ධනයේ ගමන් මග දැකලා, බොහෝ දෙනා Axum, Tokio වගේ උසස් ලයිබ්රරීන් භාවිතා කරනවා. ඒත් මේ වගේ ශක්තිමත් මෙවලම් තිබුණත්, වැඩි පරිමාණ ව්යාපාරික යෙදුම්වලට අවශ්ය “ආර්කිතෙක්චර” එකක් අඩුයි.
ඉතින් Morshedul Munna විසින් “Ironic” නමැති නව ෆ්රේම්වර්ක් එක නිර්මාණය කරලා. එය Axum එකේ ඉදිරියට “ආප්ලිකේෂන් සංවිධානය” කාර්යය භාර ගන්නා අතර, Axum, Hyper, Tokio වගේ පදනම් කොටස් වෙනස් නොකරයි.
මෙම ප්රයත්නයේ පසුබිමේ තියෙන ප්රධාන අදහස වන්නේ, පළමු සතියේ “src/main.rs, routes.rs” වගේ සරල ගොනු රචනා කිරීමෙන් පසු, මාස තුනකට පසු “auth, users, orders, billing” වැනි බහුල ෆෝල්ඩර් ගොඩනැගීමෙන් ආරම්භක සැලසුම කුඩා වෙයි. ඒ නිසා “ආශ්රිතතා කොහේ තබාගත යුතුද?”, “මොඩියුල අතර සන්නිවේදනය කෙසේ කරන්නේ?” වැනි ප්රශ්න උදාවෙයි.
Ironic, NestJS වලින් ආකර්ෂණය ලබාගෙන, Node.js පරිශීලකයන්ට හුරු පුරුදු “module, service, controller” ආකෘතියක් Rust වලට ගෙන එනවා. නමුත් Rust හි runtime reflection නොමැති නිසා, එය procedural macros සහ compile‑time code generation භාවිතා කරයි. ඒ නිසා ownership model එක රැකගෙන, අධික පණිවිඩයක් නැතිව, පිරිසිදු, පරීක්ෂා කළ හැකි කේතයක් ලැබේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණික ශිෂ්යයෝ, ව්යවසායිකයන්, ආයතනික සංවර්ධකයන්ට Ironic හි ගුණාංග කිහිපයක් වැදගත් වේ:
- ආර්කිතෙක්චර සම්මතීකරණය – එකම පදනමකින් බහුල ව්යාපාරික යෙදුම් සකස් කළ හැකි බැවින්, කණ්ඩායම් අතර කාර්ය බෙදාගැනීම පහසුය.
- කේත ගුණාත්මකභාවය – compile‑time පරීක්ෂණ සහ macro‑based code generation මගින් දෝෂයන් ඉතා පෙර හඳුනාගත හැක.
- ඉදිරියට ගමන් කිරීමේ වේගය – Axum වැනි පදනම් ෆ්රේම්වර්ක් එකතු කර ඇති නිසා, HTTP සේවා, async I/O, middleware සැකසීම ඉක්මනින් සිදු වේ.
- දේශීය ආර්ථිකයට ලාභ – තාක්ෂණික කාර්යබහුලතාවය අඩු කර, ලෝක ප්රමිතියට ගැළපෙන Rust‑based සේවා නිර්මාණය කර, අපනයන හැකියාව වැඩි කරයි.
අවසන් වශයෙන්, Ironic යනු Rust පරිසරයේ “framework‑as‑service” එකක් නොව, “architecture‑as‑library” එකයි. එය Axum එකේ පදනම රැකගෙන, සංවර්ධකයන්ට පිරිසිදු, maintainable, scalable backend එකක් ඉදිරියට ගෙන යාමට උදව් කරනවා.
ඔබත් Rust සමඟ වැඩ කරනවා නම්, Ironic භාවිතා කරලා, කේත පදනමක් අඩු කර, ව්යාපාරික අරමුණකට වැඩි අවධානය යොමු කරන්න.