تبدیل نرم افزار ویندوزی به اپلیکیشن موبایل؛ وب یا اندروید؟
برای تبدیل نرم افزار ویندوزی به اپلیکیشن موبایل، فایل برنامهی قدیمی را «به گوشی منتقل» نمیکنند؛ اول داده و منطق کار روی سرور میرود و بعد یک رابط تازه برای گوشی ساخته میشود. اگر کاربران فقط باید از گوشی ببینند و ثبت کنند، نسخهی تحت وب واکنشگرا اغلب کافی است؛ اگر کار میدانی و استفادهی روزانهی سنگین از گوشی دارید، اپلیکیشن اندروید ارزش بررسی دارد.
خیلی از شرکتها یک برنامهی دسکتاپ دارند که سالها کار حسابداری، انبار، فروش یا خدمات را جلو برده و حالا مدیر یا کارشناس بیرون از دفتر میپرسد: «چرا نمیتوانم همین را روی موبایل ببینم؟». این راهنما توضیح میدهد ساختن نسخه موبایل نرمافزار قدیمی در عمل چه معنایی دارد، کی وب واکنشگرا کافی است و کی اپلیکیشن اندروید، پیش از شروع چه چیزهایی آماده کنید، مراحل کار چیست و ریسکهای رایج چگونه مهار میشوند. مثالها فرضیاند.
تبدیل برنامه ویندوزی به اپلیکیشن موبایل در عمل یعنی چه؟
یک برنامهی ویندوزی معمولاً روی همان رایانه یا یک پوشهی اشتراکی در شبکهی دفتر داده نگه میدارد. گوشی کارمندی که در کارگاه، مسیر توزیع یا جلسه با مشتری است به آن پوشه دسترسی ندارد و فایل اجرایی ویندوز هم روی اندروید اجرا نمیشود. بنابراین «موبایلی کردن» سه لایه دارد:
- هستهی سروری: پایگاهداده و قواعد کسبوکار (محاسبهها، مجوزها، گردش تأیید) از دستگاههای پراکنده جدا میشوند و روی یک سرور قرار میگیرند. این سرور میتواند داخلی یا میزبانیشده باشد.
- واسط برنامهنویسی (API): راهی استاندارد و امن که هر رابط کاربری، چه مرورگر و چه اپلیکیشن، از طریق آن داده بخواند و بنویسد؛ همراه با کنترل دسترسی نقشمحور.
- رابط موبایل: صفحههایی که برای انگشت و صفحهی کوچک طراحی شدهاند، نه کپی کوچکشدهی فرمهای شلوغ ویندوزی.
نکتهی مهم این است که لایهی اول و دوم را در هر حال لازم دارید؛ انتخاب بین وب و اندروید فقط دربارهی لایهی سوم است. به همین دلیل خیلی وقتها پروژه با ساخت نسخهی تحت وب شروع میشود و اپلیکیشن بعداً روی همان پایه سوار میشود.
نسخه موبایل نرمافزار قدیمی: وب واکنشگرا کافی است یا اپلیکیشن اندروید؟
نسخهی تحت وب واکنشگرا با مرورگر گوشی باز میشود و خودش را با اندازهی صفحه تطبیق میدهد. اپلیکیشن اندروید نصب میشود و به امکانات خود دستگاه نزدیکتر است. جدول زیر برای تصمیم اولیه کمک میکند:
| معیار | وب واکنشگرا | اپلیکیشن اندروید |
|---|---|---|
| نوع استفاده | مشاهدهی گزارش، تأیید درخواست، ثبتهای گاهبهگاه | کار روزانه و تکراری روی گوشی، مثل ثبت بازدید یا تحویل |
| نصب و بهروزرسانی | نیازی به نصب نیست؛ نسخهی جدید روی سرور برای همه یکسان است | نصب روی هر گوشی و مدیریت نسخهها لازم است |
| دستگاه کاربران | هر گوشی، تبلت یا رایانهای که مرورگر دارد | گوشیها و تبلتهای اندرویدی |
| اینترنت ضعیف در محل کار | بدون اتصال کار نمیکند | میتوان ذخیرهی موقت و ارسال بعدی را طراحی کرد؛ پیچیدگی و دامنهی کار بیشتر میشود |
| امکانات دستگاه (دوربین، اعلان) | در حد امکانات مرورگر | دسترسی کاملتر و تجربهی روانتر |
| یک پایه برای رایانه و گوشی | بله؛ همان سامانه روی هر دو کار میکند | اپلیکیشن کنار نسخهی وب یا پنل مدیریت قرار میگیرد |
یک قاعدهی ساده: اگر نمیدانید کدام را لازم دارید، با وب واکنشگرا شروع کنید و رفتار واقعی کاربران را ببینید. اگر بعد معلوم شد گروهی از کارکنان ساعتها با گوشی کار میکنند یا در جای کماینترنت هستند، اپلیکیشن اندروید را برای همان گروه بسازید. شرح کاملتر انواع کار موبایلی را در صفحهی طراحی اپلیکیشن موبایل آوردهایم.
اندروید کردن نرم افزار؛ بازنویسی کامل یا فقط بخش میدانی؟
لازم نیست همهی سیستم یکباره عوض شود. برساوش فناوران بسته به نیاز، یا همهی سیستم را از نو میسازد یا فقط سراغ قسمتهایی میرود که کند شدهاند یا دردسر درست میکنند. دو مسیر رایج اینها هستند:
- بازنویسی جزئی: فرض کنید یک شرکت پخش (فرضی) فقط میخواهد ویزیتورها سفارش را از گوشی ثبت کنند. هستهی سفارشگیری و اطلاعات مشتری روی سرور میرود، یک رابط موبایل برای همان کار ساخته میشود و بقیهی واحدها مدتی با برنامهی قبلی ادامه میدهند. این مسیر وقتی معقول است که بتوان دادهی دو طرف را بهشکل قابلاعتماد همگام کرد.
- بازنویسی کامل: اگر برنامهی قدیمی کند است، محیطش خستهکننده شده، سازندهاش دیگر پاسخ نمیدهد یا نگهداشتن دو سیستم موازی گرانتر از ساختن یک سیستم یکپارچه است، بهتر است کل سامانه با معماری تحت وب و نسخهی موبایل از نو ساخته شود.
تصمیم بین این دو باید بعد از بررسی خود برنامه و فرایندها گرفته شود، نه از روی حدس. در مرحلهی تحلیل معلوم میشود کدام بخشها ارزش نگهداشتن دارند و کدام فقط بار اضافهاند.
پیش از تبدیل سیستم دسکتاپ به موبایل چه چیزهایی آماده کنیم؟
برای شروع بررسی، یک فلوچارت یا شرح ساده از روند کار با برنامهی فعلی، بهعلاوهی خود برنامه یا چند تصویر از صفحههایش، کفایت میکند. اما اگر این موارد را هم جمع کنید، تحلیل دقیقتر و برآورد شفافتر میشود:
- فهرست نقشها: چه کسانی با سیستم کار میکنند و هر نقش چه چیزی را باید ببیند یا تغییر دهد.
- کارهایی که واقعاً بیرون از دفتر انجام میشود؛ مثلاً «ثبت تحویل کالا» یا «مشاهدهی ماندهی مشتری».
- نمونهی گزارشها و فرمهای چاپی که امروز استفاده میکنید.
- محل نگهداری داده: نوع پایگاهداده، فایلهای اکسل جانبی و هر جای دیگری که اطلاعات پراکنده است.
- نوع گوشیهای کارکنان و وضعیت اینترنت در محلهای کاری.
- ارتباطهای لازم با سیستمهای دیگر، مانند درگاه پرداخت یا پیامرسان.
- مشکلاتی که امروز آزارتان میدهد؛ کندی، خطاهای تکراری یا گزارشهایی که هیچوقت درست درنمیآیند.
مراحل تبدیل نرمافزار قدیمی به نسخه موبایل
- تحلیل و مشاوره: نیازها، فرایندها و دادههای برنامهی فعلی بررسی و مستند میشود و دامنهی نسخهی موبایل مشخص میشود.
- طراحی و نمونهی اولیه: ساختار و صفحههای اصلی موبایل طراحی میشود و نمونهی اولیهای آماده میشود که شما آن را میبینید و تأیید میکنید؛ بهترین زمان برای گفتن «این دکمه اینجا به کار نمیآید».
- توسعه: هستهی سروری با معماری تحت وب امن، REST API و دسترسی نقشمحور ساخته میشود و رابط وب یا اپلیکیشن اندروید روی آن قرار میگیرد.
- تست و انتقال داده: پس از آزمون کامل، اطلاعات برنامهی قدیمی به دیتابیس نسخهی جدید برده میشود تا سوابق گذشته در سیستم تازه هم در دسترس بماند.
- استقرار و پشتیبانی: سیستم در محیط واقعی به کار میافتد و پس از آن پشتیبانی، رفع اشکال و بهروزرسانی ادامه دارد.
کار را میتوان مرحلهبهمرحله پیش برد تا بخشهای کلیدی زودتر به دست کاربران برسد. جزئیات بیشتر هر مرحله در مطلب فرایند ساخت نرمافزار سفارشی آمده است.
انتقال امن دادهها و ادامهی کار سیستم قدیمی در دورهی گذار
نگرانی اصلی بیشتر مدیران این است: «سوابق چند سالهی ما چه میشود؟». پاسخ کوتاه این است که دادهها از بین نمیرود؛ سوابق فعلی با رعایت اصول امنیتی به پایگاهدادهی سیستم تازه کوچ داده میشود. در عمل، انتقال خوب این ویژگیها را دارد:
- پیش از هر کاری از دادههای فعلی نسخهی پشتیبان گرفته میشود.
- انتقال آزمایشی روی یک نسخهی جداگانه انجام میشود و جمعها و ماندهها با برنامهی قدیمی مقایسه میشوند.
- ناهماهنگیها (کدهای تکراری، مشتریهای دوباره ثبتشده، فیلدهای خالی) پیش از انتقال نهایی شناسایی و با تأیید شما اصلاح میشوند.
- زمان جابهجایی نهایی طوری برنامهریزی میشود که کار روزمره متوقف نشود.
یک روش محتاطانه که میتوان در برنامهی پروژه توافق کرد، استفادهی موازی کوتاه است: برنامهی قدیمی همچنان مرجع میماند و نسخهی جدید کنار آن آزموده میشود تا وقتی که نتیجهها با هم بخوانند. دربارهی جزئیات فنی این کار، مطلب انتقال داده به سیستم جدید را هم بخوانید.
ریسکهای موبایلی کردن برنامه و راه مهار آنها
| ریسک | چرا پیش میآید | راه مهار |
|---|---|---|
| کپی کردن فرمهای شلوغ دسکتاپ روی گوشی | تصور اینکه موبایل همان صفحهی کوچکتر است | طراحی جدا برای کارهای پرتکرار موبایلی و تأیید نمونهی اولیه |
| از دست رفتن یا خراب شدن داده | انتقال یکباره بدون آزمون | پشتیبانگیری، انتقال آزمایشی و مقایسهی ماندهها |
| دسترسی بیش از حد از بیرون دفتر | نبود کنترل نقشها در برنامهی قدیمی | دسترسی نقشمحور تا هر کاربر فقط بخش خودش را ببیند |
| توقف کار روزمره | جابهجایی ناگهانی سیستم | تحویل مرحلهای و برنامهریزی زمان جابهجایی |
| وابستگی دوباره به یک سازنده | تحویل نگرفتن سورسکد و مستندات | تحویل سورسکد مستند و نسخهبندیشده به خود شما |
| رها شدن سیستم پس از تحویل | نبود برنامهی پشتیبانی | پشتیبانی، رفع اشکال و بهروزرسانیهای بعدی |
پشتیبانی بعد از تحویل و مالکیت سامانه
یکی از دلیلهایی که شرکتها سراغ نوسازی میروند، رها شدن برنامهی قبلی است. برای اینکه این اتفاق تکرار نشود، مالکیت نرمافزار و کد منبع با خود شماست و کد همراه مستندات و تاریخچهی نسخهها به شما سپرده میشود. پس از راهاندازی، پشتیبانی، رفع اشکال و توسعهی نسخههای بعدی را برعهده میگیریم؛ چه بعداً بخواهید اپلیکیشن اندروید را به نسخهی وب اضافه کنید و چه ماژول تازهای لازم شود.
سوالات متداول
آیا میشود همان فایل برنامهی ویندوزی را روی اندروید نصب کرد؟
خیر. برنامهی ویندوزی روی اندروید اجرا نمیشود؛ داده و منطق کار باید روی سرور برود و رابط تازهای برای گوشی ساخته شود.
برای ساخت نسخه موبایل، وب واکنشگرا بهتر است یا اپلیکیشن اندروید؟
برای مشاهده، تأیید و ثبتهای گاهبهگاه وب واکنشگرا معمولاً کافی است. برای کار روزانهی میدانی، اینترنت ضعیف یا استفادهی بیشتر از امکانات گوشی، اپلیکیشن اندروید را بررسی کنید.
اطلاعات برنامهی قدیمی در این تبدیل از بین میرود؟
خیر. سوابق فعلی با احتیاط و به شکل امن به دیتابیس نسخهی تازه میرود و تاریخچهی کارتان سر جایش میماند.
میشود فقط یک بخش از نرمافزار را موبایلی کرد؟
بله. میتوان همهی سیستم یا تنها چند ماژول مشخص را از نو طراحی و پیاده کرد؛ تصمیم نهایی بعد از تحلیل گرفته میشود.
برای شروع تبدیل چه چیزی باید بفرستیم؟
یک شرح یا فلوچارت از روند کار فعلی و اگر ممکن است نسخهای از برنامه یا تصویرهایی از صفحههایش. با همینها بررسی و برآورد اولیه شروع میشود.
اگر میخواهید برنامهی ویندوزیتان روی گوشی هم در دسترس باشد، شرح کار و چند تصویر از نرمافزار فعلی را از طریق صفحهی بازنویسی و نوسازی نرمافزار قدیمی برای کارشناسان برساوش فناوران بفرستید تا مسیر مناسب، وب یا اندروید، را با هم مشخص کنیم.