දුරකථනයක බොත්තමක් ඔබා බලන්න, කිසිවක් නොවෙනවා. පණිවුඩයක්, දෝෂයක්, හෝ ලෝඩ් වීමක් දක්නට නොලැබෙනවා. මේ වගේ කුඩා ප්රදර්ශනයක් පසුපස, බොත්තමක් ඇප් එකේ කිහිපයක් ලේයර් හරහා ගමන් කරන තාක්ෂණික ගැටළුවක් පවතිනවා.
මෙම ගැටලුව බ්ලේසර් හයිබ්රිඩ් පින්තූර උඩුගත කිරීමේ විශේෂාංගයේ සිදු වුණා. ඩෙස්ක්ටොප් බ්රවුසරයක පූර්ණයෙන් ක්රියා කළත්, iOS WebView තුළ එම බොත්තම ඔබා පින්තූර තෝරාගැනීමේ පෙන්වන්නා (picker) නොවිවෘත වුනා. මෙහි හේතුව, බොත්තම පසුපස සැඟවුණු file input එකයි. බොත්තමක් ලෙස පෙන්වන ලේබලයක් හෝ කස්ටම් බොත්තමක්, සැඟවුණු native input එකට ක්ලික් සිදුවෙයි. මේ ක්රමය ඩෙස්ක්ටොප් බ්රවුසරයන්හි හොඳින් ක්රියා කරන නමුත් iOS WebView හි privileged action (file picker) එකට විශ්වාසනීය පරිශීලක ක්රියාකාරකමක් අවශ්ය වෙයි.
ප්රධාන ගැටලුව නම්, සැඟවුණු input එක බොත්තමෙන් තවත් දුරට පෙනුමක් නොදැක්වීම. iOS පද්ධතියේ ආරක්ෂක රීති අනුව, පරිශීලක ක්රියාව සෘජුවම privileged element එකේ සිදුවිය යුතුය. එම නිසා, input එක තිරයේ තවත් තැනක (tiny clip) තිබීම නිසා picker එක නොවිවෘත වුනා. විසඳුම සරලයි: සැඟවුණු input එකේ පාරදර්ශී ප්රදේශය බොත්තම වගේම දිගුවක් කර, පරිශීලකගේ ස්පර්ශය සෘජුවම input එකට යාමට ඉඩ දීම.
එක්කෝ පියවර පමණක් නොව, තවත් දෙකක් සලකා බැලිය යුතුයි. පළමුව, picker එකෙන් පසු දිස්වන crop UI එකේ ප්රමාණය, ජංගම දෘශ්යපටයට අනුකූල නොවූ නිසා අසීරු විය. ඒ නිසා mobile‑friendly dialog options එකක් දාමින් UI එක අනුකූල කර ඇත. දෙවැනි වරට, iOS manifest එකේ photo library සහ camera වැනි privileged capability සඳහා usage description එකක් ඇතුළත් කළ යුතුය. මේ අඩුවීම් නිසා පරිශීලකයා web කොටස සම්පූර්ණ කරලා පසු native error එකක් දක්නට ලැබේ.
අවසන් වශයෙන්, නව dialog overload එකට අනුව component tests වල mock එකත් වෙනස් කළා. ඒ නිසා පරීක්ෂණයත් නව හැඩයට ගැළපෙයි. මේ සියල්ල එකතුව, “බොත්තමක් ඔබා පින්තූරයක් උඩුගත කරන්න” යන සරළ අත්දැකීමක්, තාක්ෂණිකව බොහොම layers එකට බඳිනවා කියලා පෙන්වයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලාංකීය ඩෙවලපර්ලාට, hybrid app development එකේ UI‑native contract ගැන නිශ්චිත අවබෝධයක් ලැබෙයි. මෙවැනි ගැටලු නිවැරදිව හඳුනාගෙන, පාරදර්ශී input overlay වැනි සරල විසඳුම් භාවිතා කිරීමෙන්, පාරිභෝගික අත්දැකීම වඩාත් සුමට වේ. තවත් පාර්ශවයක් වන ව්යාපාරිකයන්ට, එවැනි නඩත්තු ගැටලු නිසා වෙළඳපලේ විශ්වාසය අඩුවීම වැළැක්වීමට, පරීක්ෂණ කට්ටල (automated tests) යාවත්කාලීන කිරීම අත්යවශ්යයි. අන්තර්ජාලයෙහි mobile commerce, e‑learning යනාදියට ඉක්මන්, විශ්වාසනීය hybrid solutions ලබා දීමට මෙය මූලික පදක්කමක්.
එබැවින්, iOS WebView හා Blazor Hybrid වැනි තාක්ෂණික සංයෝජන භාවිතා කරන ඕනෑම සංවර්ධක කණ්ඩායමක්, UI‑native සම්බන්ධතා සම්පූර්ණයෙන් පරීක්ෂා කර, manifest metadata සකස් කර, අලුත් test mocks එක්කර, පරිශීලකයාට “බොත්තම ඔබා පින්තූරයක් තෝරන්න” යන සරල අත්දැකීමක් ලබා දිය හැකිය.