اپلیکیشن های محلی(native app)
زمانی که نام اپلیکیشن موبایل را میشنویم احتمالا به یک اپلیکیشن محلی برای خواندن اخبار، خرید، استفاده از شبکه های اجتماعی و… میاندیشیم. یک اپلیکیشن محلی طراحی شده تا بر روی یک پلت فرم خاص مانند Apple, android, windowsphone اجرا شود.
مزیت اصلی اپلیکیشن های محلی فراهم کردن بهترین تجربهی استفاده برای کاربر است، زیرا با طراحی و توسعهی این اپلیکیشن ها برای یک پلت فرم خاص عملکرد و ظاهر آنها بهتر میشود. از معایب این اپلیکیشن ها میتوان به این نکته اشاره کرد که اگر بخواهیم اپلیکیشن را بر روی بیش از یک پلت فرم اجرا کنیم، باید همهی مراحل طراحی و اجرا را از اول برای هر پلت فرم انجام دهیم.
Apple :ios سیستم عامل خاص محصولات Apple است و به همین دلیل ios) iphone operating system) خوانده میشوند. زبانهای برنامه نویسی که برای ios استفاده میشود objective-c و swift هستند.
Objective-c یکی از مشکل ترین زبانهای برنامه نویسی است به طوری که حتی برای فارغ التحصیلان علوم کامپیوتر و توسعه دهندگان حرفه ای وب حدود ۶ ماه زمان لازم است که در آن کاملا حرفهای شوند. در سال ۲۰۱۴ شرکت Apple زبان swing را معرفی کرد که نسبت به objective-c ساده تر است. این زبان نه تنها برای یادگیری بسیار ساده تر است بلکه طراحی شده تا سریع باشد، به طوری که طبق اطلاعات سایت Apple این زبان بیش از ۲٫۶ برابر سریع تر از objective-c است.
Android : اگر شما اپلیکیشنهای android توسعه میدهید احتملا از زبان java استفاده میکنید. Java نسبت به objective-c معمول تر و برای یادگیری ساده تر است.
اپلیکیشن های Hybrid
اپلیکیشن های موبایل Hybrid روی دستگاه ها نصب میشوند و از طریق browser های وب اجرا میشوند به همین دلیل جایی بین اپلیکیشنهای محلی(native) و اپلیکیشنهای وب (web app) قرار دارند.
زبانی که برای توسعهی این اپلیکیشنها استفاده میشود HTML5 است. این زبان توسط موسسات بزرگی نظیر facebook ، LinkedIn ، Xero و Financial Times استفاده می شد و در سال ۲۰۱۲ به نظر میرسید ایندهی اپلیکیشن های موبایل است. اما در سال ۲۰۱۳ همهی این موسسات به جز Financial Times به این علت که این برنامهها به اندازهی اپلیکیشنهای محلی سریع، قابل اطمینان و ساده نبودند، استفاده از HTML5 را متوقف کردند.
از مزایای این اپلیکیشنها میتوان به این مورد اشاره کرد که برای پلت فرمهای متفاوت نیاز به توسعه و نگهداری app های متفاوت نیست و این باعث صرفهجویی ۲ تا۳ برابر در زمان و کار تیمی است. به عنوان مثال facebook صدها طراح در تیم ios و صدها طراح در گروه Android خود دارد.
اپلیکیشنهای وب (traditional/responsive web app)
یک responsive web app برخلاف traditional وقتی روی دستگاه های مختلف باز میشود ظاهر متفاوتی دارد. به عنوان مثال ظاهر برنامه زمانی که روی کامپیوتر اجرا میشود با زمانی که بر روی گوشی هوشمند یا تبلت باز میشود متفاوت است.
از نقات قوت web app ها میتوان به طراحی سادهی آنها و از نقاط ضعف ان به موارد زیر اشاره کرد:
- عدم توانایی انها در به کارگیری سخت افزار دستگاهها مانند دوربین در گوشی های هوشمند
- غیر جامع بودن انها: این app ها تنها روی اینترنت در دسترس هستند.
اپلیکیشنهای وب پیشرونده (progressive web app : pwa)
یک pwa ، اپلیکیشن وبی است که توانمندیهای مدرن وب را به کار میگیرد تا تجربه ای مشابه استفاده از app را به کاربر ارائه دهد.
این اپلیکیشن ها نیازمندی هایی دارند که در ادامه به چند مورد انها اشاره میکنیم.
برای اینکه اپلیکیشن شما یک pwa به حساب آید باید:
- پیشرو باشد ( progressive): برای هر کاربر بدون توجه به browser مورد استفاده به درستی کار کند.
- واکنشگر باشد ( responsive): متناسب با دستگاهی که استفاده میکنیم نظیر گوشی هوشمند، تبلت یا… ظاهر خود را تطبیق دهد.
- مستقل از اتصال (connectivity independent): به وسیلهی سرویس هایی پشتیبانی شود تا بتواند به صورت offline و یا با شبکههای کیفیت پایین کار کند.
- شبیه app) app-like): از ظاهر app استفاده کند تا navigation و تراکنش هایی مشابه app داشته باشد.
- تازگی (fresh): همیشه به روز باشد.
- امنیت بالا( safe): از طریق https ارائه شود که امنیت بالا را ارائه میدهد.
- قابل شناسایی( discoverable): موتور های جستوجو قادر به شناسایی و پیدا کردن آن باشند.
- قابل نصب( installable): به کاربران این امکان را میدهد که appهایی که کاربردی میدانند و زیاد استفاده میکنند را روی home screen خود نگه دارند.
- قابلیت پیوند ( linkable): به راحتی با URL قابل اشتراک گذاری باشد و نصب پیچیدهای نداشته باشد.