Laravel සංවර්ධකයින් අතර InertiaJS ගැන ආදරය වැඩිවීමත් සමඟ, එය පරණ API සමඟ එක් කිරීමේ ගැටළු වැඩි වෙමින් පවතී. ඉතින්, InertiaJS සහ API ප්රතිචාර එකම පාලකයෙන් ලබා දීමට inertia-split නව පැකේජය එළිදැක්වෙනවා.
මෙම පැකේජය භාවිතා කරන්නේ පළමුව පාලක (Controller) එකේ use HasHybridResponses යොදා ගැනීමයි. එවිට respond()->component() මගින් Inertia ඉල්ලීම් සඳහා Vue/React/Svelte කොම්පොනෙන්ට් එකක් රෙන්ඩර් කරයි, API ඉල්ලීම් සඳහා JSON දත්ත ලබා දේ. කිසිඳු if‑statement එකක් ලියීමට අවශ්ය නැති නිසා කේතය සරලයි.
පෙර තිබූ API එකක් Inertia‑aware කිරීමටත් සරල අනුසූචකයක් (annotation) එකක් පමණක් ප්රමාණවත්. #[InertiaComponent('Users/Show')] යන අනුසූචකය යොදා, method body එකේ පරණ ආකාරයටම දත්ත ආපසු දෙන අතර, Inertia ඉල්ලීම් සඳහා එම දත්ත කොම්පොනෙන්ට් එකේ props ලෙස ලබා දේ. අනෙක් API ඉල්ලීම් පළමුවත් එම JSON ලබා ගනී.
මෙම ක්රියාවලිය Inertia හි ResponseFactory එකට අපගේ HybridResponseFactory එක ප්රතිස්ථාපනය කිරීමෙන් (service provider හි singleton) සිදු වේ. OOP රීතියේ polymorphism එක භාවිතා කරමින්, ඉල්ලීමේ වර්ගය අනුව සමාන පාලකයක් දෙකම සේවාවන් ලබා දේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ සංවර්ධකයින්ට Laravel සහ InertiaJS එකට එකම පාලකයක් භාවිතා කිරීම ඉතා වැදගත්. මෙයින්:
- කේත ලේඛනය කෙටිවීම – දෙකේම එකම controller එකෙන් ඉල්ලීම් කළ හැකි බැවින් කේතය අඩු වේ.
- වේගවත් සංවර්ධනය – API සහ UI එකට වෙනම routes සකස් නොකර, වැඩි වේගයෙන් MVP (Minimum Viable Product) නිකුත් කළ හැක.
- ආයතනික පරිසරයට හොඳ අනුකූලතාව – ව්යාපාරික පද්ධතිවල data‑sharing අවශ්යතා ඉක්මනින් සපුරා ගත හැක.
විශේෂයෙන්ම, ශ්රී ලංකාවේ startup සහ තාක්ෂණික සමාගම් API‑driven architecture එකක් ගොඩනැගීමට උත්සාහ කරන විට, inertia-split මගින් development cost අඩු කර, time‑to‑market වේගවත් කරයි.
ඉදිරි කාලයේ inertia-split බීටා අවධියෙන් පිටවී, Laravel ecosystem එකේ නිල පැකේජයක් ලෙස නිකුත් වීමට බලාපොරොත්තු වෙයි. එය ඔබේ ව්යාපෘතියේ productivity එක වැඩි කරගැනීමට හොඳ අවස්ථාවක්.