چرا باید اپلیکیشن یا وب اپ داشته باشیم؟
تا حدود یک دهه پیش که اولین گوشی اسمارت توسط شرکت کامپیوترسازی اپل در امریکا با نام تجاری آیفون iPhone طراحی و تولید شد، معنی و مفهوم اینترنت در کامپیوترهای رومیزی و با استفاده از مرورگرهای وب همچون اینترنت اکسپلورر IE یا فایرفاکس FireFox و... بود. طراحی ظاهری و گرافیکی صفحات وب ثابت بود و نیازی به تغییر شکل هنگام تغییر اندازه صفحه نمایش وجود نداشت. ولی گوشیهای تلفن هوشمند تحول بزرگی در دنیای اینترنت ایجاد کرد. در واقع تلفنهای همراه که ابزاری برای تماس تلفنی ارسال پیام کوتاه بود و آن زمان امکان عکاسی نیز به آن اضافه شده بود، ناگهان به کامپیوترهای جیبی تبدیل شده بودند که امکان اجرای برنامه و اتصال به اینترنت را با استفاده از شبکههای G, 2G و 3G پیدا کرده بودند.
آن زمان باز کردن اکثر وبسایتها در گوشی تلفن همراه بسیار سخت بود چون باید دائما با انگشتان دست صفحه را بزرگ و کوچک میکردیم تا بتوانیم در یک گوشی کوچک همه چیز را به خوبی ببینیم. ولی به مرور امکانات پردازشی جدید در کنسرسیوم جهانی وب تایید شد و مورد استفاده قرار گرفت که امکان شرطی سازی دستورات وب را برای واکنشگرا کردن صفحات وب فراهم کرد که تا امروز نیز از آن استفاده میشود. این دستورات باعث میشد که با طراحی مناسب یک صفحه وب، چیدمان آیتمهای داخل صفحه در مانیتور به یک شکل نمایش داده شود و در موبایل چیدمان آن تغییر کند به طوری که در موبایل نیز با اندازه و چیدمان متفاوتی نمایش داده شود که بدون دردسر بتوان سایتها را مشاهده کرد.
تا پیش از طراحی وبسایتهای واکنشگرا (Responsive Website Design) اقبالی از استفاده موبال برای مشاهده وبسایت ها وجود نداشت. ولی درست از زمان پیدایش فناوری طراحی واکنشگرای وبسایتها توسط دستورات CSS3 و HTML5 و افزایش سرعت و کیفیت گوشیهای موبایل هوشمند بود که توجه مردم به تدریج به استفاده کاربردیتر از موبایل جلب شد! همچنین شرکتهای دیگری همچون شرکت گوگل OSهای دیگری به غیر از OSشرکت اپل ببه بازار ارائه کردند که برنامه نویسی برای آن بسیار سادهتر بود. در نتیجه شرکتهای مختلف از این OSجدید به نام اندروید android برای راهاندازی و راهبری گوشیهای جدید خود استفاده کردند.
برای استفاده از این گوشیها برنامههای android و iOS طراحی و تولید میشد که بتوان از امکانات گوشی برای مصارف گوناگون استفاده کرد. از اپلیکیشنهای بازی گرفته تا اپلیکیشنهای پیامرسان و... به تدریج همه گیر شد. چیزی که جای خالی آن احساس میشد اپلیکیشنهای کاربردی بود که توسط شرکتهای خصوصی در وبسایت خودشان ارائه میشد ولی در گوشی وجود نداشت. این لحظهای بود که شرکتهای خصوصی برای خدماتی که در وبسایتهای خود ارائه میکردند شروع به تولید اپلیکیشن برای گوشییهای android و iOS اپل کردند.
ایراد بزرگ اپلیکیشن این بود که باید ابتدا اپلیکیشن را در بازرهای فرش و عرضه اپ مثل Google play یا App Store تبلیغ و به کاربران معری میکردند و تنها در صورت رضایت و جذب کاربران به نصب آنها، میتوانستند به کاربران خود سرویسهای خود را ارائه کنند. از این رو، طراحی وباپ نیز جای پای خود را میان اپلیکیشنها باز کرد. وب اپلیکیشنها و یا به اختصار Web App بدون نیاز به نصب روی گوشی و تنها با جستجو در موتورهای جستجو مثل گوگل و کلیک روی وبسایت مورد نظر به صورت خودکار و آنلاین روی گوشی فراخوانی میشود و دقیقا مشابه اپلیکیشن عمل میکند و به خوبی به مشتری خدمات میدهند. در ادامه بیشتر با اپلیکیشن و وب اپ آشنا میشویم.
اپلیکیشن و وب اپ چیست و چه کاربردی دارد؟
ابزاری برای استفاده کاربردی با هدفی خاص توسط گوشیهای تلفن همراه هوشمند هستند که مطابق با امکانات گوشی تجربه کاربری با ظاهری مناسب به استفادهکنندگان اپ میدهند. اپلیکیشنها و وباپها هر دو بسته به نیاز تولیدکنندهی آن، کاربردهای مختلفی دارند، از ایجاد شبکههای اجتماعی گرفته، تا ابزار مدیریت تصاویر، صدا، ویدئو، بازی و Game، ویرایش متن، مدیریت محتوای گوشی تلفن همراه، فروشگاههای آنلاین و سفارش آنلاین سایر خدماتی که توسط وبسایتهای مختلف مخصوص گوشیهای موبایل چه به صورت اپلیکیشن و چه به صورت وب اپ در بازار عرضه شده است.
اپلیکیشن بهتر است یا وب اپ؟
از لحاظ نحوه استفاده و ظاهر رابط کاربری و حتی تجربه کاربری تقریبا اپلیکیشن و وباپ یکسان هستند. البته اپلیکیشن چون مستقیم از طریق دانلود فایل نصبی روی گوشی نصب میشود، تجربه کاربری بهتری از وب اپ دارد مخصوصا اگر بخواهد از برخی امکانات داخلی گوشی استفاده کند بدون شک بهتر از وب اپ محسوب میشود. ولی وب اپ نیز خصوصیات منحصر به فرد خود را دارد. شما هرگز هیچ وب اپی را در گوشی خود نصب نمیکنید! یعنی تنها کافی است از طریق مرورگر وب خود، وبسایتی را که قبلا به جای اپلیکیشن وب اپ طراحی کرده است باز کنید و سرور آن وب سایت،به صورت هوشمند فراخوانی اطلاعات توسط گوشی تلفن همراه را تشخیص میدهد و به جای این که وبسایت برای شما باز شود، وب اپلیکیشن آن سایت برای شما فراخوانی شده و مثل این است که مستقیم از یک اپلیکیشن استفاده میکنید. نیاز به نصب و اشغال حجم گوشی شما ندارد، امنیت اطلاعاتی گوشی شما در استفاده از وب اپ بسیار بالاتر از اپلیکیشن است چون نیازی به نصب ندارد و کارایی آن با اپلیکیشن تقریبا یکسان بوده و تفاوت چندانی حس نمیکنید.
همچنین طراحی وباپ ارزانتر از اپلیکیشن است. طراحی وب اپ نیازی به ایجاد حساب کاربری یا خرید اکانت در سایت عرضه کنندگان اپلیکیشن مثل App Store شرکت اپل یا Google Play شرکت گوگل ندارد و وابسته به استفاده از خدمات آنها نیست و مستقیما توسط شما اداره میشود. طراحی وب اپ باعث میشود شما به راحتی و بدون نیاز به نصب نسخه Update مثل اپلیکیشنها، نسخه وب اپ خود را در هر زمان به روز رسانی کنید و همیشه آخرین نسخه وب اپ توسط مشتری دیده میشود.
معمولا وبسایتهایی که وب اپ دارند با افزودن یک Sub-Domain مثل mobile یا m به ابتدای دامنه خود وب اپ را فعال میکنند. برای مثال وبسایت shaghayegh2.com را در کامپیوتر باز کنید. همین دامنه را در گوشی موبایل فراخوانی کنید. میبنید که به صورت خودکار در گوشی تلفن همراه شما به آدرس mobile.shaghayegh2.com تغییر کرده و وب اپ این فروشگاه آنلاین عطر فراخوانی میشود.
برای طراحی اپلیکیشن یا وب اپ چه باید کرد؟
نرمافزارهای کاربردی آنلاین از دو بخش اصلی تشکیل میشوند. بخش نرمافزار سمت سرور (Server Side / Back End) که قلب تپنده نرمافزار است و محاسبات و ثبت و ذخیره اطلاعات در سرور توسط آن انجام میشود و قسمت دوم نرمافزار سمت کاربر (Client Side / Front End) است که یا به صورت برنامه نصبی اپلیکیشن روی گوشی نصب میشود و یا به صورت یک اپلیکیشن تحت وب از طریق مرورگر برای کاربر فرواخانی شده و باز میشود تا کاربر از آن استفاده کند. این دو بخش نرمافزاری از طریق یک سرویسدهنده تحت وب (Web Service / API) با یک دیگر ارتباط برقرار میکنند که شما میتوانید از آن استفاده نمیایید.
با این توضیح باید در نظر داشته باشید که وبسایتهایی میتوانند اپلیکیشن داشته باشند که ماژولها یا برنامهها یا ابزارهایی که در وبسایت شما برای تولید و نمایش محتوا، ثبت نام کاربر، فروش آنلاین یا انجام یک خدمات آنلاین استفاده میشود باید امکان ارائه خدات تحت وب یا Web Service را داشته باشد تا به وسیله آن API بتوان اپلیکیشن یا وباپ طراحی کرد. لذا این که شما از چه نوع وبسایتی استفاده میکنید بسیار مهمه است. این که از چه برنامههایی برای محتوا یا ثبت نام یا فروگاه یا خدمات آنلاین خود استفاده میکنید پیش از آغاز طراحی سایت بسیار مهم است که از اکنون آینده را پیشبینی کرده باشید که در آینده مجبور به بازنویسی وب سایت خود نشوید.
بیشتر خدمات طراحی سایت ما، با در نظر گرفتن این امکان انجام میشود و تمام برنامههای کاربردی که توسط ما برنامهنویسی شده است و همچنین برخی انواع فروشگاههای آنلاین ما از API برای برقراری ارتباط با سایر نرمافزارها مثل اپلیکیشن یا وب اپ استفاده میکنند.
انواع روشهای برنامهنویسی اپلیکیشنهای اندروید android:
کاربرد اپلیکیشنهای موبایل امروزه بر کسی پوشیده نیست و تفاوتهای آن با وبسایت مشهود است و به طور خلاصه به صورت کاربردی آنچه را که کاربر نیاز دارد بدون نمایش اطلاعات اضافه به او ارائه میکند. پیاده سازی یک اپلیکیشن اندروید به سه روش انجام میشود.
۱. برنامهنویسی Native با استفاده از زبان Java
در این حالت به این دلیل که از زبان برنامهنویسی پیشفرض android استفاده میشود بهترین انتخاب محسوب میشود و هیچگونه مشکلی در نوشتن برنامه وجود ندارد و میتوان از تمام امکانات اندروید استفاده کرد. تنها مشکل نوشتن به این زبان، بالا بودن هزینه و زمان بر بودن برنامهنویسی به این روش است.
۲. برنامهنویسی Native با استفاده از React-Native
در این حالت زبان برنامهنویسی با استفاده از فریم ورک React بوده و توسط کامپایلر به زبان Java که زبان Native گوشیهای اندروید هست تبدیل میشود و در واقع نتیجه مشابه با حالت اول دارد. اپلیکیشنهای معتبری همچون اینستاگرام و فیسبوک از این روش برای تولید اپلیکیشن androidخود استفاده کردهاند. از نظر زمان اجرا، انجام پروژه از حالت Java سریعتر بوده و در نتیجه هزینه کمتری هم دارد. محدودیت خاصی نسبت به زبان Java که مشکلساز باشد در این روش گزارش نشده است.
۳. برنامهنویسی Hybrid با استفاده از زبان JavaScript
در این حالت برنامه با استفاده از فریم ورکهای JavaScript تولید شده و در نهایت به روش هیبریدی تبدیل به اپلیکیشن موبایل میشوند. سرعت تولید و برنامهنویسی از ۲ حالت قبل بیشتر بوده و هزینه کمتری نسبت به هر دوی آنها دارد. شاید گزارشهایی مبنی بر اینکه در برخی گوشی های قدیمی اپلیکیشن دچار مشکل شود دریافت کنید. چون در این روش امکان اختلال در نسخههای قدیمی اندروید وجود دارد. همچنین حجم نرمافزاری که روی گوشی نسب میشود نسبت به دو حالت قبلی بیشتر است. سرعت بارگذاری و اجرای دستورات نیز در حد بسیار کمی کندتر بوده ولی این کندی سرعت محسوس نیست و تجربه کاربری بدی به کاربر نمیدهد.
انواع روشهای برنامهنویسی اپلیکیشنهای آی او اس iOS:
پس از گوشیهایی با سیستم عامل android، گوشیهای شرکت اپل با سیستم عامل iOS جزو دومین گروه پر مخاطب هستند. پیاده سازی یک اپلیکیشن iOS نیز همچون android به سه روش انجام میشود.
۱. برنامهنویسی Native با استفاده از زبان Swift
۲. برنامهنویسی Native با استفاده از React-Native
۳. برنامهنویسی Hybrid با استفاده از زبان JavaScript
توضیحات این سه روش همچون اپلیکیشنهای اندروید است با این تفاوت که در حالت نخست زبان پیشفرض برای سیستمعامل iOS شرکت اپل Swift است نه Java و به همان ترتیب زمان و هزینه بیشتری از دو روش دیگر دارد. همچنین از آنجایی که برنامهنویسان به زبان Swift هزینههای بیشتری نسبت به برنامه»ویسان زبان Java دریافت میکند، خود این موضوع باعث افزایش بیشتر هزینههای تولید به روش Native برای اپهای iOS میشود.
البته فریمورکهای (Frameword) جدید دیگری برای طراحی و برنامهنویسی اپ موبایل به تازگی وارد بازار اپ موبایل شدهاند. از جمله این فریمورکها میتوان به flutter و nativescript و ionic اشاره کرد.
نمونه اپلیکیشن و وباپهای طراحی شده
در زیر برخی کارهای انجام شده توسط تیم ما را مشاهده مینمایید. همچنین در بخش طراحی نرمافزارهای کاربردی میتوانید سایتهایی که امکان طراحی اپلیکیشن یا وباپ از هماکنون برای آنها فراهم است را مشاهده نمایید که برخی از آنها اپ خود را تولید کردهاند.