مرجع مقالات طراحی اپلیکیشن

طراحی اپلیکیشن با جدیدترین متدهای روز دنیا

مرجع مقالات طراحی اپلیکیشن

طراحی اپلیکیشن با جدیدترین متدهای روز دنیا

منوها در اندروید


وقتی یک نرم‌افزار را باز می کنید، معمولا  نخستین دنبال چه‌چیزی در آن می‌گردید؟ یا چه‌چیزی در یک اپ می‌باشد که به استفاده کننده امکان میدهد تا ازبین آیتم‌‌ها یا کارهایی انتخاب کند؟ پاسخ این دو سوال بسیار مبرهن است. پاسخ عنصر مهمی در رابط کاربری و تجربیات کاربری نرم‌افزار‌هاست.
منوها کاربردی و ضروری می باشند، چه در وب سایت‌ها چه طراحی اپلیکیشن در مشهد در برنامه‌ها. دراینجا دعوا اصلی برسر منوها و ساختن آن‌ها در برنامه‌های اندرویدی هست و کاری با منوی وب سایت‌ها نداریم. نرم‌افزار‌ها چه اندرویدی باشند چه نباشند، المان‌ها و خصوصیت‌های مشترکی دارا‌هستند. چیزهایی می باشند، مثل منوها، که بایستی در همگی‌ی برنامه‌ها باشند.

شاید من و شمای کاربر خیلی وقت‌ها التفات و نقشی را که منوها در بهبود تعامل با اپلیکیشن دارا هستند نادیده بگیریم. اما بسط‌دهنده اپ نمی‌تواند و نباید ازکنار ساختن منوها به‌سادگی بگذرد. منوها انواع مختلفی دارا‌هستند. هر منو مناسب برای کاری است و گزینه‌های مختلفی را مشتمل بر می‌گردد. 

 در این نوشته‌ی‌علمی در باب منوها در اندروید صحبت می‌کنم. انواع منوها در اندروید را به شما معرفی می‌کنم و کمی هم در خصوص فراگیری ساخت منوها در اندروید و کدهای مایحتاج برای آن بحث خواهم کرد. درآخر، منابع و تارنما‌هایی که توسعه و گسترش‌دهنده نرم افزار‌های اندرویدی قادر است در امر منوها در اندروید بیشتر بخواند معرفی گردیده‌است. 

 

اگر می‌خواهید بیشتر درباره ی توسعه و گسترش برنامه و فرآیند اصلی آن بدانید، «۷ مرحله مهم در گسترش برنامه و مارکت آن» را بخوانید. 

آنچه در‌این نوشته خواهیم داشت
منوها در اندروید
مزایای به کار گیری از فرمت XML برای منوها در اندروید
گونه های منوها در اندروید (+ نمونه‌)
۱. Options Menu
۲. Contextual Menu
۳. Popup Menu
تیم‌بندی‌کردن گزینه منوها یا Menu Groups در اندروید
جمع‌بندی و سود‌گیری
مولف
مهدیه اسماعیلی
منوها در اندروید
چرا منوها و طراحی آن‌ها اصلی است؟ یک سری نوع منو می گردد با اندروید تشکیل داد؟ هریک برای چه‌ هدفی مناسب‌تر می‌باشد؟ و چطور می‌گردد آنان را ساخت؟

اول باید از التفات منوها اذعان کرد. منوها اساسی میباشند چون درواقع گروه‌ای از کارها (actions) را که کاربر برای تعامل با اپ به آنان نیاز دارااست دراختیار او می‌گذارد. نحوه‌ی گروه‌بندی این کارها و دکوراسیون آنان کنار یکدیگر و درکنار سایر المان‌های کاغذ مسئله بسیار مهم و حساسی هست. چون مستقیما بر تجربه کاربری و تعامل کاربر با نرم افزار تاثیر می‌گذارند. 

 پیشرفت‌دهنده نرم‌افزار‌های اندرویدی ۳ انتخاب داراست. یعنی در اندروید می‌توان ۳ نوع منو تشکیل داد (این ۳ نوع منو را درادامه توضیح خواهم بخشید). نکته‌ی مهمی در خصوص ساخت منوها در اندروید وجود دارد: بسط‌دهنده نیاز نیست که منو و تک‌تک موارد (مورد‌ها یا Items) آن را کدنویسی کند. به‌جای آن در اندروید، Menu Resource (یا منبع منو) وجود دارد که محل تعریف‌و‌تمجید‌کردن منوهای اپلیکیشن می باشد. توسعه و گسترش‌دهنده میتواند این منبع را پیشرفت دهد و جزئیات را به آن اضافه کند. باطن درین منبع، فرمت XML استانداردی برای ساخت منو تمجید شد‌ه‌است که بایستی منو و جزئیات آن در درون آن فرمت تعریف خواهد شد. 

ساختار کدهای (سینتکس) منبع منو و فرمت XML در اندروید به طور زیر هست:



































ارکان (تگ‌های) اساسی آن ساختار و منبع منو عبارت‌انداز:

: تگ منو که Container هست برای همگی آیتم‌ها و گروه‌ها و منو را تمجید می‌کند. 
: هرکدام از آیتم‌ها (موارد یا آیتم‌های منو) در‌این تگ تعریف و تمجید می‌شود. با این تگ می‌گردد submenu هم تعریف و تمجید کرد. به هر مورد از مورد‌ها ممکن هست خاصیت‌های مختلفی اضافه شود که مهم‌ترین آن‌ها  id , icon or title هستند.
‌: این تگ از روی اختیار است و در حالتی که پیشرفت‌دهنده بخواهد مورد‌های منو را گروه‌بندی کند، می‌تواند از این تگ به کار گیری کند. 
 

مزایای استعمال از فرمت XML برای منوها در اندروید
این قابلیت در اندروید، یعنی منبع منو و فرمت استاندارد XML برای تعریف و تمجید‌کردن و پیشرفت‌دادن منو، چه مزیت‌هایی دارااست و چرا عمل را برای توسعه‌دهنده نرم افزار‌های اندرویدی وا رفته‌تر می‌کند؟ 

در این فرمت، ساختار منو ازاول مشخص هست. گسترش‌‌دهنده شل‌تر قادر است این ساختار را مجسم کند. 
بااستفاده از منبع منو، بخش منو و کدها و جزئیات مربوط به آن از سایر قسمت‌ها و کدها جدا گردیده‌است.
این امکان به توسعه‌دهنده اجازه می‌دهد تا منوهای برخورد‌گرا برای دستگاه‌های متعدد تعریف‌و‌تمجید کند.
 

گونه های منوها در اندروید (+ نمونه‌)
بسط‌دهنده نرم افزار های اندرویدی برای ساختن منو ۳ انتخاب دارد: Options Menu, Contextual Menu & Popup Menu. ساختن هر یک از این منوها درقالب همان ساختار مهم (منبع منو) در اندروید اعمال می شود. پیشرفت‌دهنده امکانات زیادی برای تغییردادن در ظاهر این منوها ندارد. درادامه با کاربرد و نمونه‌های این ۳ نوع منو آشنا میشوید.

۱. Options Menu
با منو Options یا منو گزینه‌ها استارت می‌کنیم. در این نوع از منو گزینه‌هایی که دراختیار کاربر قرار می‌گیرند مربوط می شوند به کارهای اصلی که او قادر است در گوشه و کنار نرم افزار جاری ساختن دهد مانند جستجو کردن، بازکردن کاغذ‌ی تازه، نوشتن ایمیل نو و … .  جایی که این منو نمایش داده می شود براساس اینکه توسعه و گسترش‌دهنده از کدام نسخه‌ی اندروید استفاده می‌کند متفاوت می باشد. درصورتی که اپ با اندروید 2.0 و پایین‌‌تر تشکیل شده باشد، نتایج می‌شود منویی که در نصیب بالایی تصویر تحت می‌بینید. اما در صورتی نرم افزار با اندروید 3.0 و بالاتر ساخته شده باشد، منو Options در برنامه بار (app bar) نمایش داده می‌گردد (نصیب پایینی تصویر ذیل). در تصویر ذیل به‌خوبی نمونه‌ای از کاربرد منو Options، محل قرارگرفتن آن و مورد‌هایی که در باطن آن قرار میگیرد نشان داده شده است. 

با اضافه‌کردن کدهای کاتلین به فرمت XML این منو می گردد، منو Options را به یک activity اختصاص اعطا کرد. این عمل را میگردد برای کلیه‌ی منوها در اندروید انجام داد: 

۲. Contextual Menu
دو‌مین نوع از منو یا Contextual Menu (منوی متنی) کارهایی را دربرمی‌گیرد که کاربر میتواند بر روی یک المان خاص یا تصویر یا متن یا هرچیزی که تعیین می‌کند اجرا دهد. برای مثال وقتی شما یک عکس را انتخاب می کنید و روی آن کلیک می‌کنید و نگه‌ می‌دارید، یک منوی متنی برای شما باز میگردد که آیتم‌های دانلود‌کردن، حذف‌کردن یا بازنویسی‌کردن را دارد. منوی متنی منویی شناور (Floating Menu) هست که بسط‌دهنده برای اینکه این منو کجا نمایش داده گردد دو تعیین دارااست. تعیین نخستین همان چیزی می‌باشد که در مثال نقل شده هست. گزینش دوم، Contextual action bar در بالای صفحه می‌باشد. 

 

۳. Popup Menu
آخرین منو در اندروید پاپ‌آپ‌ منوها میباشند. توضیح‌دادن کاربرد این منو در اندروید کمی فعالیت رنج هست. بهتر است اول مثال بزنم. زمانی استفاده کننده در محیط اپلیکیشن است و موس را می‌برد روی المانی یا المانی را می‌بیند و منویی عمودی باز می‌شود که به او قابلیت و امکان می‌دهد تا آن المان را به‌اشتراک بگذارد یا ایمیل کند یا اطلاعات بیشتری در باب آن بگیرد، یک منوی پاپ‌آپ برای او باز می شود. درنتیجه منوی پاپ‌آپ مختص است به المانی که کاربر می‌بیند. فرق منو پاپ‌آپ با منوی متنی در‌این می باشد که پاپ‌آپ منو ممکن هست با یکی از دو هدف زیر در اپ قرار داده شده باشد: فعالیت خاصی را که مرتبط با آن المان می باشد بنامد یا ممکن است توسعه‌دهنده برنامه می‌منظور تا انتخابی متعدد یا اضافه‌تر از آن‌هایی که در منوی متنی وجود داراست به استفاده کننده بدهد. 

 اندروید استودیو اولین انتخاب برای توسعه اپلیکیشن‌های اندرویدی می باشد. در‌حالتی که می‌خواهید بیشتر با امکانات اندروید استودیو آشنا شوید، «پلاگین‌های ضروری اندروید استودیو» را بخوانید. 

دسته‌بندی‌کردن گزینه منوها یا Menu Groups در اندروید

امکان بسیار کاربردی دیگری که پیشرفت‌دهنده اپ‌های اندرویدی دراختیار دارد، این است که می تواند آیتم‌های منوهای گوناگون در نرم افزار را که ویژگی‌های خاص و مشترکی دارند در یک تیم بانام menu group جمع کند. بعد به‌راحتی قادر است برای این موسسه به عنوان مثال مشخص کند که تک تک گزینه‌های داخل در آن hide یا disable شوند. 

قطعه کد ذیل منبع منویی را نماد می‌دهد که گروهی در آن تعریف شده است: 

۱. اپلیکیشن‌ ساختن کار چندان مشقت نیست. برای ساختن اپ‌های اندرویدی شیوه های مختلفی وجود دارااست. علاوه‌بر اندروید استودیو، فریمورک‌های توسعه و گسترش‌ی نرم‌افزار هم آیتم‌ی مناسبی میباشند و عمل‌ها را، ازجمله طراحی و ساخت منوها، شل‌تر کردند.
۲.  منوها در اندروید ۳ نوع هستند که هر یک ویژگی‌ها و کاربردهای خاص خودشان را دارا هستند. نکته اینجاست که برای ساختن همه‌ی آن‌ها باید به فرمت XML رجوع و برگشت کرد.

زبان برنامه نویسی جاوا

گویش نرم افزار نویسی جاوا 

لهجه اپلیکیشن نویسی جاوا در سال ١٩٩۵توسط جیمز گاسلینگ در Sun Microsystems (که در سال ٢٠٠٩ بوسیله Oracle خریداری شد) توسعه یافت. جاوا یک زبان نرم افزار نویسی متن باز، همه منظوره و شی گرا هست. علاوه بر این، جاوا یک زبان برنامه نویسی استاتیک است  که type checking را در حین مجال کامپایل اعمال می دهد. جاوا به عنوان یک لهجه یکسری پلتفرمی، تقریباً روی هر دستگاه و سیستم برهان و سروری شغل می کند. علاوه بر این، از آنجایی که در بایت کد کامپایل گردیده‌است، می‌تواند بر روی ماشین مجازی جاوا (JVM) ایفا خواهد طراحی اپلیکیشن در مشهد شد.

اپلیکیشن های معروفی مانند spotify، twitter و LinkedIn بوسیله جاوا درست شده اند.


 


مزایای جاوا

جاوا یک زبان برنامه نویسی شی گرا می‌باشد که نوشتن اپ های ماژولار را برای برنامه نویسان شل و ول تر می کند.

جاوا انعطاف پذیر می باشد. به این مضمون‌ که به راحتی از یک سیستم به سیستم دیگر انتقال میابد.

جاوا، جداگانه از پلتفرم می‌باشد.

جاوا یک گویش یکسری ماهر یا Multi-Thread می‌باشد. این بدان شکل می باشد که اجازه اجرای هم‌زمان یک سری بخش از اپلیکیشن را می دهد و در واقع بیشترین استفاده را از CPU می کند.

محدودیت های جاوا

جاوا خیال زیادی را مصرف می کند که این ممکن هست سبب به افت سعی گردد.

جاوا به جای به چنگ آوردن بکاپ از داده ها، صرفا بر روی ذخیره سازی آن ها تمرکز دارد.

در جاوا هیچ کنترلی بر عده زباله وجود ندارد زیرا جاوا توابعی مانند ()delete()، free را ارائه نمی دهد.

int و char بدون نماد در جاوا حفاظت نمی شوند.

 


بیشتر بخوانید: “راهنمای اجمالی جاوا برای اندروید“


کاتلین چیست؟

لهجه اپلیکیشن نویسی kotlin گویش بسیار جوان‌تری نسبت به جاوا می باشد و برای اولین بار در سال ٢٠١۶ معرفی شد. کاتلین یک لهجه متن باز هست که میتواند کد را در بایت کد کامپایل کند و روی ماشین مجازی جاوا (JVM) کار کند. کاتلین مانند جاوا نسبتاًً روی هر پلتفرمی کار می کند. به علاوه، کتابخانه ها و چارچوب های ساخته شده در جاوا نیز برای به کار گیری در کاتلین سازگار میباشند. کد کاتلین در مقایسه با جاوا آسان تر و خواناتر می باشد به همین برهان کاتلین احتمال اشتباه را کاهش می دهد.

Tinder، Netflix، Airbnb، Pinterest و Uber به عنوان مثال نمونه هایی هستند که با استفاده از کاتلین درج گردیده اند.


 


مزایای کاتلین

کدهای زبان اپ نویسی کاتلین، مختصرتر و خواناتر از جاوا می‌باشد.

سینتکس های برنامه نویسی کاتلین کاربر پسند و قابل شعور است.

کاتلین با تقسیم بندی اپلیکیشن های گران قدر به لایه های کوچک تر، مراحل برنامه نویسی را ساده تر می کند.

کاتلین به بسط دهندگان کمک می کند تا توابع افزونه یا Extension function را تولید کنند.

کاتلین یک طریق بسیار بی آلایش و خودکار را برای ساخت کلاس های داده ارائه می دهد.

این زبان قابلیت و امکان تبادل و استفاده از اطلاعات جاوا را به شیوه های مختلف می دهد.

نوشتن کد نو در Kotlin زمان کمتری می برد.

محدودیت های کاتلین

بزرگترین محدودیت کاتلین این می‌باشد که کوشش کامپایل کندتری داراست.

کاتلین زبان جدیدی است. به همین عامل بر خلاف جاوا جامعه حمایتی کوچک و محدودی دارااست.

منابع آموزش نرم افزار نویسی کاتلین محدو می‌باشد.

 


چرا زبان اپلیکیشن نویسی جاوا با کاتلین مقایسه می گردد؟

تا این جا زبان نرم‌افزار نویسی جاوا و کاتلین را معرفی کردیم و به یکسری ویژگی این دو لهجه اشاره کردیم. اکنون شاید این سوال برایتان ایجاد خواهد شد که چرا لهجه برنامه نویسی جاوا با کاتلین مقایسه میگردد؟ همانگونه که گفته شد جاوا یک لهجه همه منظوره هست. زبان اپ نویسی جاوا سال هاست که یک کدام از محبوب ترین لهجه های اپلیکیشن نویسی دنیاست. در حالی که کاتلین نو یک سری سال می باشد که معرفی گردیده است. با این در حال حاضر گویش برنامه نویسی کاتلین در گسترش اندروید، جدی ترین رقیب جاوا هست.

در سال ٢٠١٧ ، گوگل کاتلین را به عنوان دو‌مین لهجه رسمی خود برای پیشرفت اندروید به رسمیت شناخت. همچنین در سال ٢٠١٩، کاتلین به عنوان زبان اپ نویسی موفق برای پیشرفت برنامه های اندروید در گوگل اعلام شد. در سود، می تون بیان کرد زبان نرم افزار نویسی کاتلین رشد باورنکردنی را تجارب کرده است.




 


تفاوت های کلیدی کاتلین و جاوا

در حال حاضر که ما کمی گزینه داریم، ممکن می‌باشد تعجب فرمایید که چه گونه رویش کاتلین بر جاوا تأثیر می گذارد. آیا کاتلین جایگزین آن گردد؟ پاسخ به این سادگی نیست. راجع به این موضوع نظرها مختلف زیادی وجود دارد. برای فهم و شعور هر دو طرف بحث، اجازه دهید استارت نگاهی دقیق به تفاوت آن‌ها بیندازیم.


 


١. خطای Null Pointer Exception

خطای Null Pointer Exceptions در جاوا برای توسعه و گسترش دهندگان دردسر زیادی را ایجاد می کند. ایده پشت Null Pointer Exceptions این می‌باشد که کاربران را توانمند می سازد تا یک مقدار null را به هر متغیر نسبت دهند. جاوا به پیشرفت دهندگان این قابلیت را می‌دهد که یک مقدار null را به هر متغیری اختصاص دهند. با این هم اکنون، در‌صورتی‌که آنها تلاش کنند از یک مرجع شی که دارای مقدار تهی است به کارگیری کنند، خطای NullPointerException ظاهر میشود.


در مقابل، در Kotlin، به طور پیش فرض نمی توان مقادیر null را به متغیرها یا اشیاء نسبت داد. در شرایطی که همت کنیم این کار را انجام دهیم، کد در طول کامپایل با ناکامی مواجه می شود. بنابراین، Null Pointer Exceptions در Kotlin وجود ندارد. با این اکنون، چنانچه توسعه و گسترش‌دهنده بخواهد به یک متغیر یک مقدار تهی اختصاص دهد، قادر است متغیر مورد نظر را  به ‌عنوان یک متغیر nullable نشان‌گذاری کند. برای این شغل از دستور ذیل استعمال می‌گردد:


val number: Int? = null


 


بیشتر بخوانید: “خطاهای رایج در زبان اپ‌نویسی جاوا“


٢. گسترش توابع

برخلاف جاوا، Kotlin به توسعه‌ دهنده اجازه می‌دهد تا همت کلاس‌ها را بدون نیاز به ارث بری از یک کلاس پیشرفت دهد. در جاوا، برای توسعه و گسترش تلاش یک کلاس موجود، می بایست یک کلاس جدید ایجاد کرد و توابع را از کلاس والد به ارث توفیق.


 


٣. حجم کد

یکی تفاوت های کلیدی کاتلین و جاوا این است که کاتلین به کد کمتری نیاز دارد. همان طور که گفته شد کاتلین یک لهجه بسیار مختصر می باشد. به این معنی که یک اپلیکیشن جاوا را می توان با تعداد کمتر کد در کاتلین نوشت. کلاً، مختصر بودن کاتلین، نوشتن پروژه‌های تبارک را قابل مدیر ‌تر می‌کند. این قضیه احتمال خطا را تا حد بسیار زیادی کاهش می دهد.


 


۴. کلاس های داده

معمولا در پروژه های بلندمرتبه جاوا از یک سری کلاس به کارگیری می شود که صرفاً برای مراقبت داده ها طراحی شده اند. اگرچه این کلاس‌ها عملکرد بسیار کمی دارند یا به هیچ وجهً همت ندارند، با این اینک یک پیشرفت ‌دهنده باید کدهای boilerplate زیادی را در جاوا بنویسد.


در مقابل، کاتلین راه ساده ‌تری برای ساخت و ساز کلاس‌ ها برای نگهداری داده‌ ها ارائه می دهد. به این صورت که برنامه نویس با گنجاندن واژه و کلمه کلیدی “data”، کلاس را تمجید می کند.


۵. coroutines

از آن جایی که اندروید به طور پیش فرض تک رشته ای می‌باشد، هر زمان که عملیات طولانی برهه زمانی I/O یا CPU را در شبکه راه‌اندازی شود، رشته مربوطه مسدود می شود. جاوا بضاعت و توان ساخت و ساز تعدادی حرفه را فراهم می کند، ولی مدیریت آن ها یک شغل بغرنج می باشد.


در کاتلین ما می‌توانیم یک سری رشته برای اجرای این عملیات فشرده وقتگیر‌مدت ساخت کنیم، که در حین اجرای عملیات فشرده زمانبر‌زمان، جاری ساختن را در یک نقطه خاص بدون مسدود کردن رشته‌ها متوقف می‌کند.


 


۶. Type interface

در جاوا باید نوع متغیر را به صراحت معلوم کنیم.


در kotlin نیازی نیست که نوع هر متغیر را به طور صریح مشخص و معلوم کنیم.


 


٧.  Checked exception

در جاوا Checked exception مطالعه می شود که در نهایت سبب به کد کارکشته با رئیس عالی اشتباه میگردد.


اما در کاتلین ما Checked exception وجود ندارد. براین اساس گسترش دهندگان نیازی به اعلام یا گرفتن استثناها ندارند، که این بسته به گسترش دهنده قادر است اثرگذار یا غیرمفید باشد.


 


٨. برنامه نویسی کاربردی (Functional programming)

گویش اپلیکیشن نویسی جاوا تا قبل از java8، از اپلیکیشن نویسی کاربردی پشتیبانی نمی کند.


کاتلین ترکیبی از زبان نرم‌افزار نویسی رویکرد ای (procedural programming) و کاربردی می‌باشد که از روش های موثر اکثری مانند لامبادا، operator overloading، توابع رتبه بالا و غیره تشکیل شده می باشد.


 


منفعت گیری

نظرات متفاوتی در انتخاب زبان مناسب برای نرم‌افزار نویسی اندروید وجود دارد. در این نوشته‌ی‌علمی از آکادمی آمانج کوشش کردیم بدور از هرگونه پیش داوری، به ویژگی های مثبت و منفی جاوا و کاتلین اشاره کنیم.


آنچه که معین می‌باشد این هست که زبان برنامه نویسی کاتلین تخت‌گاز در اینک پیشرفت می‌باشد و هرساله بر تعداد توسعه و گسترش دهندگان اندروید که از کاتلین استعمال می کنند افزوده میشود. همچنین موسسه ها و سازمان هایی که در جستجوی نیروی کارشناس گسترش اندروید با کاتلین می باشند در اکنون افزایش است.


پس می توان بهره گرفت آینده توسعه اندروید می تواد به کاتلین بسیار مرتبط باشد.


سپرده گذاری برای نرم افزار در قبال تارنما


ارتفاع قدمت: وبسایت های تلفن همراه حذف نمی شوند

معدل قدمت یک نرم افزار بسیار کوتاه است (بر طبق برخی پژوهش ها کمتر از 30 روز است)، مگر اینکه اپ شما چیزی حقیقتا مخصوص و یا این که موءثر (یا این که هر دو) باشد. و این مدام این پرسش وجود داراست که برنامه تا چه مدت بر روی دستگاه تلفن همراه نصب می‌باشد و مورد اعتنا نیز قرار می گیرد. از سوی دیگر، سایت های تلفن همراه مدام برای برگشت در دسترس یوزرها آن ها می باشند.یک وبسایت موبایل می‌تواند یک اپلیکیشن باشد!

صحیح مانند یک سایت استاندارد، سایت های موبایل می‌توانند تحت عنوان نرم افزار های اینترنت بر پایه ی مقر داده ای عمل نمایند که بسیار مشابه نرم‌افزار های مستقر می باشند. یک اپ اینترنت همراه میتواند یک جایگزین عملی برای گسترش اپلیکیشن های ساکن باشد.

هزینه و فرصت: سایت های موبایل شل و ول خیس و ارزان خیس هستند

توسعه وب سایت های موبایل بطور قابل توجهی از حیث زمانی و هزینه از پیشرفت یک اپ مستقر به صرفه خیس میباشد. بخصوص در شرایطی‌که شما نیاز به پیشرفت برنامه برای سیستم دلیل های طراحی اپلیکیشن در مشهد

 متفاوت داشته باشید.

بهبود و حفظ

سپرده گذاری برای نرم افزار در قبال تارنما، با فعال سازی اول نقطه پایان نمی یابد؛ نگهبانی و نگهداری اپ مطلوب (ارتقاء، آزمایش، مسائل مرتبط با سازش و گسترش مداوم) بسیار گران خیس میباشد و در طول مجال بیش تر از حمایت از یک سایت به سپرده گذاری نیاز دارد.

چه وقتی تشکیل داد برنامه معنی می دهد؟

با وجود اکثری از مزایای ذاتی وبسایت گوشی، برنامه ها هنوز هم بسیار دوستداشتنی میباشند و در تنی چند از نمایش های خاص به کار گیری میشوند که میتوانند نرم افزار ها شایسته ترین گزینش باشند. کلاً، درصورتی که شما به یکی از مفاد تحت را نیاز دارید، توسعه یک نرم‌افزار برای شما توجیه منطقی دارااست:


تعامل و بازی: برای بازی های تعاملی (به عنوان مثال Angry Birds) یک نرم افزار نسبتاً مدام شایسته ترین تعیین شماست، دست‌کم برای آجل قابل حدس.


استفاده منظم و فردی سازی: در‌صورتی‌که یوزرها غرض شما از اپ شما به صورت منظم به طور فردی استفاده نمایند، نرم افزار یک طریق بهتر برای ایفا این کار را آماده می نماید.


محاسبات غامض یا این که گزارش: در حالتی که شما نیاز به اطلاعات با محاسبات غامض و ویرایش آن بر روی دستگاه مشتری دارید، مانند نمودار یا این که گزارش (برای مثال بانکداری و یا این که سپرده گذاری)، اپ قادر است بسیار مفید باشد.


کارکرد مستقر و یا این که نیاز به پردازش: مرورگرهای تلفن همراه به صورت فزاینده ای در دسترسی به برخی از کارکردهای خاص گوشی مانند click-to-call، اس ام اس و GPS بهتر شغل می نمایند. با این درحال حاضر، در شرایطی که شما نیاز به دسترسی به دوربین استفاده کننده یا این که توان پردازش دستگاه را دارید، یک برنامه هنوز هم برای اعمال این عمل بسیار موءثر است.


دسترسی آفلاین: چنانچه شما نیاز به ارائه دسترسی آفلاین به محتوا و یا این که اعمال توابع سوای اتصال به کانال وب را دارید، پس یک نرم افزار برای شما مطلوب هست.


همچون هر پروژه دیگر، در هنگام ساخت و ساز یک نرم افزار اطمینان نتیجه ها فرمائید که از رجوع و برگشت سپرده گذاری قابل قبولی منتفع میشوید.  آنچه شما می بایست از آن اجتناب فرمایید صرف مخارج متعددی و غیر ضروری برای کارکرد های نرم افزار ایی میباشد که، می اقتدار آنها‌را به راحتی از روش وبسایت برای یوزرها فراهم کرد.


 


حرف آخر

همان گونه که به کار گیری از گوشی همچنان در سراسر دانا پرورش می نماید، سوال “نرم افزار به مکان سایت” برای سازمان هایی که به‌دنبال ساخت و ساز یک حضور در موبایل میباشند، بسیار جذاب توجه خواهد بود. اگر هدف ها گوشی شما به صورت عمده  بازاریابی اساس باشند، یا این که اگر غرض شما ارائه محتوا و تشکیل داد یک حضور گسترده در گوشی است که می شود به راحتی آن را ساخت، حفظ، به اشتراک گذاشت و از روش موتورهای جستجوی نیز قابل دسترسی باشد، یک تارنما Responsive و کاربرپسند قادر است تعیین قابل قبولی برای نیاز های شما باشد.


از سوی دیگر، در‌حالتی که غرض شما بیشتر یک تجربه کاربری مشابه یک رابط کاربری بازی یا این که یک اپ کامپیوتری تا یک سایت، یا این که چنانچه نیاز به دسترسی به خاطر تلفن استفاده کننده و کارکردهای بومی گوشی داشته دارید، احتمالا نرم‌افزار انتخاب خوبی برای شما هست.


همینطور اصلی میباشد که به حافظه داشته باشید که یک وبسایت گوشی و یک نرم‌افزار مستقر لزوما و متقابلا اختصاصی نیستند. تعداد متعددی از سازمان ها از هر دوی آنها استفاده می نمایند. یک وبسایت همگانی برای دسترسی به حضور آنلاین خویش و همینطور یک برنامه قابل دانلود برای انطباق با نیازهای خاص خیس. در نقطه پایان، همگی چیز راجع‌به انتخاب ابزار مطلوب برای یک فعالیت خاص میباشد.


5 روش برای ساخت اپ دسکتاپ با پایتون

گویش نرم‌افزار نویسی پایتون یکی پرطرفدارترین لهجه های نرم‌افزار نویسی شی گرا میباشد. با لهجه پایتون می توانید کدهای بی آلایش ای را بارها و بارها جاری ساختن فرمایید فارغ از اینکه نیاز باشد تک تک پروژه را کامپایل نمایید.

ولی لهجه اپلیکیشن نویسی Python یک لهجه تعاملی میباشد که طیف پهناور ای از ابزارهای GUI برای تشکیل داد نرم افزار های گرافیکی میباشد.
درین نوشته‌ی علمی ی آموزشی قصد داریم به ۵ نحوه برای تشکیل داد نرم افزار های دسکتاپ با گویش نرم‌افزار نویسی پایتون بپردازیم.

 

1. Python4Delphi (P4D)
ایجاد کرد نرم افزار های دسکتاپ با لهجه پایتون
Python for Delphi (P4D) یک‌سری از کامپوننت های بدون پول برای مهیا کردن DLL پایتون برای گویش دلفی و Lazarus میباشد ، این ها به برنامه نویس ها اذن می دهند تا اسکریپت های پایتون را به راحتی اعمال نمایند و با اقتدار مجموع ماژول ها و type های تازه پایتونی ساخت و ساز گردد.

شما می توانید extension های پایتون را به راحتی به صورت dll یا این که نوع های دیگری دربیاورید. همینطور P4D عملکردهای دیگری را نیز به ارمغان می‌آورد :‌

دسترسی سطح ذیل به API پایتون
تعامل دو جهته سطح بالا با پایتون
دسترسی به آبجکت های پایتون با استعمال از varient های سفارشی دلفی (VarPyth.pas)
فراهم سازی آبجکت های دلفی برای استعمال در اسکریپت های پایتون با استعمال از RTTI (WrapDelphi.pas)
ایجاد کرد ماژول های پایتون با کلاس ها و توابع Delphi
P4D به کار بستن لهجه پایتون برای نرم افزار های دلفی با بسیار بی آلایش خیس میکند ، همینطور P4D به یار فراگیری ها و دمو های بسیار متعددی عرضه میگردد تا برنامه نویس ها به راحتی بتوانند مشکلشان را حل نمایند.

برای استارت فعالیت با Python4Delphi می‌توانید از گیتهاب این پروژه دیدن نمائید و از آنجا آغاز نمایید.

2. PyQT
به کارگیری از pyqt برای ساختن نرم افزار های دسکتاپ با پایتون
pyqt تیم ابزارهای ویجت برای تشکیل داد نرم افزار های GUI با گویش پایتون میباشد ، این یکی قدرتمندترین و دوست داستنی ترین میان اینترفیس های پایتون میباشد. این فریمورک در واقع ترکیبی با QT که ایجاد کرد کمپانی نوکیاست با گویش نرم افزار نویسی پایتون میباشد  و به برنامه نویس ها این آزادی را می‌دهد که کدنویسی یا این که ایجاد کرد نرم افزار  با ابزارهای گرافیکی را گزینش نمایند.

PyQt برای پلتفرم های مختلفی مثل ویندوز ، مک ، لینوکس ، اندروید ، آی وی اس و رزپری پای در دسترس میباشد و از اشکال ورژن های پایتون از ورژن ی ۲ و همینطور از ورژن ی ۵ QT حفاظت میکند.

 

3. Tkinter
نرم‌افزار نویسی دسکتاپ با پایتون و Tkinter
Tkinter یکی‌از دوست داستنی ترین پکیج های نرم افزار نویسی دسکتاپ بصورت گرافیکی با گویش پایتون میباشد.اسم Tkinter به جهت آسانی آن میباشد ، Tkinter ترکیبی از چارچوب استاندارد GUI Tk و Python میباشد.

Tkinter با منابع فراوانی از مثال کدها و کتاب های مرجع ارائه میشود که یک مزیت خوب برای آن اکانت می شود ، همینطور ویجت های فراهم ی متعددی مثل  labels, buttons و text boxes ارائه می‌دهد که به وفور در گرافیک نرم افزار های دسکتاپی به کارگیری می گردند.

ویجت button برای ساختن دکمه و همینطور ویجت canvas برای رسم گونه های متفاوت مانند خطوط، بیضی، یکسری ضلعی و غیره به کارگیری می شود.

 

4. Kivy
تشکیل داد نرم‌افزار دسکتاپ با Kivy پایتون
کیوی ( Kivy ) یک فریمورک قادر برای ساختن نرم افزار های دسکتاپی با لهجه پایتون میباشد که به پیشرفت دهندگان پایتون اذن می‌دهد خیلی آسوده  برای اشکال پلتفرم های متعدد مثل  Windows, MacOSX Linux ،  Android-iOS و Raspberry Pi نرم افزار بنویسند.

ایجاد کرد نرم افزار با Kivy درگیر‌کننده، راحت و پر ارزش میباشد، چون مجانی میباشد و یک کتابخانه منبع گشوده پایتون برای تولید اپلیکیشن کاربردی با رابط کاربری طبیعی فعال میباشد.

5. PyGUI
کتابخانه PyGUI برای اپ نویسی دسکتاپ با پایتون
فریمورک PyGUI بعنوان مدل ترین و معمولی ترین فریمورک برای تشکیل داد نرم افزار های دارنده GUI با گویش پایتون میباشد و به طور کامل کراس پلتفرم میباشد می توانید و برای Windows, Mac سیستم عامل و Unix قابل به کار گیری میباشد.

یک بسط دهنده PyGUI کد بسیار یه خرده مینویسد و همین کدهای معدود سبب ساز ساخته شدن اشکال GUI برای اکران به مخاطب استعمال می‌گردد.

پوش نوتیفیکیشن برای چه مواردی مورد استفاده قرار می‌گیرد؟

پوش نوتیفیکیشن یا Push notification چیست؟
پوش نوتیفیکیشن گوشی، پیامی هست که در دستگاه تلفن ملازمت و همراهی ظاهر میگردد که پیام از طریق آن ارسال میگردد. پوش نوتیفیکیشن را می‌قدرت هر زمان مانند یک پیام اخباری ارسال کرد، یا برای ارسال آن در آجل اپلیکیشن‌ریزی کرد. استفاده کننده همچنین نیازی به استفاده از اپلیکیشن جهت دریافت پیام ندارد و این پیام فقط از طریق پیامک ارسال می گردد. پوش نوتیفیکیشن می‌تواند بسیاری از کارها را به ایفا برساند که در‌این نوشته‌ی‌علمی به آن‌ها اشاره میگردد.
مثلا، پوش نوتیفیکیشن می‌تواند آخرین امتیازات ورزشی را ارائه دهد، شخص را وادار به بارگیری مطالب کند یا همچنین میتواند درباره‌ی یک اتفاق افتاد مانند فروش به استفاده کننده استحضار‌رسانی کند. پوش نوتیفیکیشن مانند پیام‌های متنی می‌باشد، اما فقط به عده ای ارسال می گردد که برنامه شما‌را نصب کرده و توافق کرده‌اند که از شما پیام دریافت کنند. کاربران جهت دریافت پوش نوتیفیکیشن مکلف به انتخاب هستند، بدین ترتیب مطمئن شوید که در ارتباط آنچه کاربران در‌پی آن هستند، یک استراتژی جامع تهیه فرمائید که به اندازه کافی جالب باشد.

پوش نوتیفیکیشن برای چه مواردی گزینه به کارگیری قرار میگیرد؟

پوش نوتیفیکیشن عمدتا برای این می‌باشد که افراد را به به کار گیری از اپ شما ترغیب کند و تجربه مشتری را ارتقاء دهد. برای دستیابی به‌این اساسی، در اینجا یکسری ایده در ارتباط چگونگی به کارگیری از پوش نوتیفیکیشن گفته شده است:

چرخه عمر مشتری

برای حفظ اشتغال کاربران در برنامه و اعتنا به چرخه عمر مشتری، نیاز هست تا یک استراتژی مناسب را تشکیل داد فرمائید. ایده‌هایی همچون:

از کاربران نرم‌افزار تازه استقبال کرده و مزایایی به کار گیری از اپلیکیشن را تقویت نمایید.
فرآیند پردازش را به حداکثر برسانید تا کاربران بتوانند نمایه خود را کامل کنند.
وقتی کاربران مدتی از اپلیکیشن به کارگیری نکنند، اعتنا آن‌ها را به برنامه خود جلب فرمائید.
اطلاعات کاربران را بروزرسانی فرمائید.


عکس العمل

جهت دریافت واکنش یا تعامل در فرم یا رتبه‌بندی، بررسی‌ها و نظرسنجی‌ها از پوش نوتیفیکیشن‌ها به کار گیری کنید تا بطور مداوم تجربه خدمات یا محصول ها خود را بهبود ببخشید:

درباره یک محصول یا تجربه خدمات اخیر، درخواست واکنش کنید.
از کاربران بخواهید که تا اپ شمارا رتبه بندی کنند.
نرم افزار وفاداری

در حالتی‌که قصد دارید یک نرم افزار وفاداری برای مشاغل خود طراحی کنید، میتوانید اپ خود را در‌این استراتژی بگنجانید، یا می‌توانید یک اپلیکیشن وفاداری برای برنامه خود تولید نمائید. در اینجا بعضی از ایده‌ها راجع‌به پوش نوتیفیکیشن و نرم افزار‌های وفاداری آمده است:

از اشخاصی که در برنامه وفاداری شما ثبت‌نام می‌کنند، استقبال فرمائید.
از سیستم پیام رسانی چرخه عمر اپ وفاداری استعمال نمایید. مانند دعوت یک دوست و کسب امتیاز بیشتر به ازای دعوت دوستان بیشتر.
معاملاتی

پیام‌های معاملاتی از طریق سایر شیوه‌های ارتباطی نسبتاً رایج می باشند، ولی میتوانید پیام‌های مربوط به نرم‌افزار خود را متناسب نمائید:

تایید سفارشات
پیگیری سفارشات
به‌روز‌رسانی شرایط پیشنهاد‌ها


مسابقات

مسابقات و هدایای تبلیغاتی همیشه دوست داستنی و عالی برای اهداف تعاملی مجدد میباشند، به ویژه هنگامی که مخاطب فرصتی برای بدست آوردن چیزی که ارزش آن‌را داراست، داشته باشد. ایده‌هایی همچون:

اعلان‌های مسابقه
اشتراک اعلامیه‌های مسابقه
یاد آوری‌ها
اعلامیه‌های پیروز
رویدادهای آنلاین

بسته به هدفت اپلیکیشن شما، می‌توانید با به کارگیری از پوش نوتیفیکیشن کاربران را در رویدادهای آنلاین مانند جلسات تویید، فیسبوک و غیره شرکت دهید.

اعلان‌های وقوع افتاد
قدردانی برای پیوستن به رویدادها
واکنش و پیگیری رویدادها
نقاط لمس گرانبها زیاد

نقاط لمسی گرانبها بالا در استراتژی استحضار‌رسانی شما می‌تواند مشتمل بر موارد پایین باشد:

نمایش یک کالا یا خدمت هفتگی یا ماهانه
به کاربران درباره ی خبر نامه هفتگی/ماهانه که می‌خواهید به آدرس پست الکترونیک آن ها ارسال نمائید، استحضار دهید.
چیزی باارزش برای کاربران نرم‌افزار ارائه دهید. شما می بایست یک ایده در زمینه ی آنچه می تواند بر طبق تمایل آنها به نصب اپ شما باشد، بدست آورید.
نکات و آموش‌ها
هدفمند جغرافیایی

بسته به برند تجاری خود، برای جلب توجه و محافظت مشتریان، از اعلان‌های حصارکشی‌شده به کار گیری فرمائید:

وقتی مشتری در فاصله مشخصی از مکان فیزیکی شما قراردارد، اعلان مناسبی ارسال فرمایید.
رستوران ها یا دکان‌ها درحالیکه مشتری وارد ناحیه می شود، میتواند برای آن‌ها پیام خوشامدگویی ارسال کند.
رویه‌یابی اتفاق افتاد


یاد آوری‌ها

کاربران اپلیکیشن را درباره مواردی که برایشان مهم می‌باشد، به‌روز نگه دارید:

یاد آوری‌ها نباید مواردی مانند وبینار، فروش، ثبت‌نام یا هر اقدام دیگر را فراموش کنند.

به‌روزرسانی حالت درخصوص هواخواهی مشتریان

تبلیغات

برای بهینه‌سازی نتایج، از پوش نوتیفیکیشن شخصی به کار گیری نمایید تا کاربران فقط پیام‌هایی درباره‌ مورد ها گزینه علاقه‌ خود دریافت کنند:

پیشنهادات فصلی
حراجی
فروش محدود
معاملات هفته
تعیین مدیر
رابطه‌ای

تولد و سالگرد
برنامه شما یا همان چیزی است که کسب و کار شما براساس آن بنا گردیده است، یا آن را به عنوان بخشی از یک استراتژی بازاریابی پهناور برای بیزنس خود تولید کرده‌اید.

زمانی که از آن به عنوان ابزاری برای بازاریابی استعمال میگردد، در اینجا یک سری ایده راجع به پیام‌های رابطه‌ای وجود دارااست:

از ایده‌های دیگری که در این نوشته‌ی علمی مذکور می‌باشد به کار گیری نمایید.
کاربران برنامه پیش‌نمایش‌های مخفیانه تولیدات یا خدمات جدید را دریافت می‌کنند.
پوش نوتیفیکیشن را با سایر شیوه‌های ارتباطی مانند بازاریابی از طریق نشانی اینترنتی و رسانه‌های اجتماعی ترکیب نمائید.
اطلاعیه‌ها
شرکت تکران ارائه دهنده خدمات طراحی اپلیکیشن به صورت حرفه‌ای و در سطح فی مابین‌المللی می باشد. برای مشاهده نمونه کارهای شرکت تکران در حوزه طراحی اپلیکیشن بله لینک زیر رجوع کنید:
ش