کدامیک از روش‌های زیر را برای تولید App های موبایل ترجیح می‌دهید؟ چرا؟
قبلا یک نظرسنجی مشابه در سایت با دو گزینه ایجاد شده بود که الان مدت زیادی هست گذشته و ممکن هست نظرات با توجه به پیشرفت فناوری‌های اخیر تغییر هم کرده باشند و دوستان تجارب بیشتری در زمینه‌های مختلف به دست آورده باشند. این نظرسنجی یک گزینه اضافه‌تر هم دارد که مربوطه به استفاده از فناوری‌های تحت وب هست که امروز جایگاه ویژه ای پیدا کرده اند به خصوص که الکترون بعد از دسکتاپ قصد تصاحب گوشی‌های همراه را نیز دارد.
ممنون میشم رای خود را با دلیل بیان کنید تا نتیجه بهتری دریافت کنیم.
  • استفاده از روش های Native
  • استفاده از روش های Cross Platform
  • استفاده از فناوری های تحت وب
  • تاریخ انقضاءندارد

نتایج نظر سنجی

استفاده از روش های Native
۵۴.۰ %
با ۳۴ رای
استفاده از روش های Cross Platform
۳۴.۹ %
با ۲۲ رای
استفاده از فناوری های تحت وب
۱۱.۱ %
با ۷ رای
  • #
    ‫۸ سال و ۴ ماه قبل، سه‌شنبه ۱۱ خرداد ۱۳۹۵، ساعت ۱۴:۲۱
    ممنون میشم دوستانی بیشتری در نظرسنجی شرکت کنند.
  • #
    ‫۸ سال و ۴ ماه قبل، سه‌شنبه ۱۱ خرداد ۱۳۹۵، ساعت ۲۱:۱۲
    ما خودمون به شخصه توی تیممون شروع به تست Xamarin کردیم که البته بعدا java را ترجیح دادیم. یک سری مقاله در مورد Xamarin توی سایت هست که می‌تونید دلیلش رو ببینید.
    توی Xamarin برنامه چند لحظه ای کندتر اجرا میشه ولی مشکل چندانی نداره و ارزشش رو داره ولی مشکل اصلی حجم برنامه بود که که میتونه خیلی بالاتر باشه. مثلا به ازای استفاده از Linq باید Dll مربوطه داخل برنامه کپی بشه که حجمش چیزی حدود یک مگابایت به برنامه اضافه می‌کنه و همینطور DLL‌های دیگه. به همین علت ما Xamarin رو برای برنامه هایی که متعلق به مکان‌ها خاصی مثل کارخانه‌ها و شرکت‌ها میشه ترجیح میدیم ولی عرضه عمومی روی مارکت‌ها رو با جاوا ترجیح میدیم.
    • #
      ‫۸ سال و ۳ ماه قبل، چهارشنبه ۱۹ خرداد ۱۳۹۵، ساعت ۱۵:۵۶
      برای کم کردن حجم برنامه شما بایستی چند تا کار انجام بدید 1. link کردن برنامه یعنی وقتی از کتابخانه ای که تو برنامه استفاده نشده در زمان خروجی هم نیاید و حجم به مراتب کمتر می‌شه و 2. خروجی شما بایستی برای 3 نوع cpu مجزا باشه یعنی در نهایت شما 3تا apk جدا دارید . 
      چون اگه رو Any Cpu  بزارید نحوه خروجی رو حجم وحشتناک بالا می‌ره . من حجم 37 M رو به 4 M کاهش دادم .
      • #
        ‫۸ سال و ۳ ماه قبل، یکشنبه ۲۳ خرداد ۱۳۹۵، ساعت ۲۲:۴۱
        بعد از انجام تمام این مراحل باز هم برنامه‌ی شما حجمی بالاتر از آنچه تصور میکردید دارد که برای عرضه در بازار ایران(با توجه به اهمیت بالای حجم اپ‌ها برای کاربران با توجه به اینترنت ایران) گزینه‌ی اول به حساب نمی‌آید.
      • #
        ‫۸ سال و ۳ ماه قبل، دوشنبه ۲۴ خرداد ۱۳۹۵، ساعت ۰۱:۱۰
        البته این نکته رو هم باید مدنظر داشت که کاربران عمومی از برنامه‌های عمومی استفاده می‌کنند و این تعدد نسخه برای آن‌ها گیج کننده است. همین الان اشخاصی که کاربران عمومی از آن‌ها زیاد سوال میکنند یک پرسش داشته باشید می‌گویند خیلی هاشان سوال می‌پرسند که " اونی که 32 داره رو بگیرم یا اونی که 64 نوشته؟"
        و البته پاسخ خودم به آن‌ها فقط این جمله هست 32 رو بگیر.
        حالا شما در یک حالت عمومی این انتظار را داشته باشید که کاربر بداند کدام نسخه را بگیرد؟
        • #
          ‫۸ سال و ۳ ماه قبل، شنبه ۵ تیر ۱۳۹۵، ساعت ۲۲:۱۴
          نیازی نیست که کاربر متوجه این موضوع باشد . شما پکیج‌های تولید شده را در گوگل پلی که آپلود نمایید در نهایت یک خروجی رو کاربر می‌بیند و در زمان نصب از پلی استور به صورت اتوماتیک نسخه مورد نظر دانلود و نصب می‌شود .
          برای آموزش‌های بیشتر : Multiple Apk , multiple apk support in android market
    • #
      ‫۸ سال و ۳ ماه قبل، سه‌شنبه ۸ تیر ۱۳۹۵، ساعت ۲۰:۳۲
      ویدئوی با عنوان Test Driven Xamarin Development    در کنفرانس Xamarin Evolve 2016 در  ارتباط با استفاده از Xamarin برای توسعه برنامه‌های بزرگ وجود داره که مشاهده اون می‌تونه مفید باشه.
  • #
    ‫۸ سال و ۴ ماه قبل، سه‌شنبه ۱۱ خرداد ۱۳۹۵، ساعت ۲۲:۴۱
    من از نسخه‌ای که دلفی برای تولید برنامه‌های برپایه android و ios در اختیار برنامه‌نویس قرار میده استفاده کردم، با تمام راحتی که در تولید برنامه موبایلی داشتم (البته در دلفی) ولی وقتی خواستم خروجی بگیرم کلا منصرف شدم، خروجی که با خود جاوا حدودن ۳ تا ۴ مگابایت میشد با دلفی نزدیک به ۳۰ مگابایت شد و خب منطقی نبود، تلاش‌هایی برای کاهش حجم کردم ولی بی نتیجه بود .
    در نهایت شخصا معتقدم تا زمانی که ابزارهای بومی و مخصوص به خود سیستم عامل مثل همین جاوا برای android هست استفاده از سایر ابزارها خیلی جالب نیست مگر اینکه در آینده همون وضعیتی که جاوا در android داره رو به دست بیارن .
    • #
      ‫۸ سال و ۴ ماه قبل، چهارشنبه ۱۲ خرداد ۱۳۹۵، ساعت ۰۰:۰۷
      دو سوال از شما داشتم:
      1- خروجی ios چطور؟
      2- با دلفی دات نت می‌نویسید؟

      البته من در Xamarin تست نکردم ولی از آنجای که Xamarin طبق مستندات گفته شده، برنامه را به نتیجه نهایی Compile می‌کند نباید تفاوات چندانی باشد ولی برای اندروید چون کمپایل درجا صورت میگیرد لاجرم باید dll‌ها فرستاده شوند.
      • #
        ‫۸ سال و ۲ ماه قبل، سه‌شنبه ۵ مرداد ۱۳۹۵، ساعت ۰۳:۵۵
        1- خروجی IOS هم به همین معضل مبتلا بود و به همین دلیل باز هم توسعه با سوئیفتُ ترجیح دادم
        2- نه، دلفی از نسخه‌های XE نوعی از UI رو به اسم FMX ایجاد کرد و بعدن از همین تکنولوژی تازه تاسیس برای توسعه برنامه‌های موبایلی هم بهره برد، محیط توسعه همون محیط RAD Studio هست ولی نوع پروژه طبعا متفاوته .
        ما هم بالاجبار تمام کتابخانه‌ها رو در پروژه اضافه کردیم چون خطا میداد، البته تلاش کردیم راه صحیح رو بریم ولی ممکنه برخی جاها هم اشتباهاتی کرده باشیم اما بازخوردی که از سایرین گرفتیم به همین موضوع منتج شد و از توسعه با دلفی منصرف شدیم .
  • #
    ‫۸ سال و ۳ ماه قبل، یکشنبه ۱۶ خرداد ۱۳۹۵، ساعت ۱۹:۵۰
    با فرض این که یک تیم با تجربه به هر سه روش مسلط باشند، این انتخاب کاملا به کاربرد اپلیکیشن مورد نظر بستگی دارد. ضمننا در هزینه تمام شده (تولید، توسعه، نگهداری) نرم افزار هم موثر است.
    در صورتی که یک برنامه نویس بخواهد روشی انتخاب کند بسته به شرایط برنامه نویس متغییر است. 
    • پس زمینه برنامه نویسی
    • تکنولوژی هایی که مسلط است
    • چقدر وقت دارد چیز جدید یاد بگیرد
    Cross-platform خودش چند مدله (معروف‌تر هاش این موارد):
    • HTML+JS +WebView (Cordova)
    • C#+ XAMARIN
    • HTML+JS+ Native Run (Native Script)
    ...
  • #
    ‫۸ سال و ۳ ماه قبل، دوشنبه ۲۴ خرداد ۱۳۹۵، ساعت ۱۴:۰۰
    با توجه به نقاط ضعف و قوت هر کدام بسته به شرایط پروژه باید انتخاب شوند.
     چنانچه برنامه نیازمند تعامل با قسمتهای مختلف موبایل است استفاده از فناوریهای تحت وب انتخابی نادرست است و اگر عرضه عمومی مد نظر است cross platformها انتخابی نادرست هستند . 
  • #
    ‫۸ سال و ۳ ماه قبل، سه‌شنبه ۸ تیر ۱۳۹۵، ساعت ۱۹:۱۵
    من در طول 3 سالی که در توسعه اندروید کار میکنم پلتفورم native رو ترجیح میدم چون دردسر کمتری نسبت به پلتفورمای دیگه داره. xamarin که از همون ب بسم الله دردسرای نصبشو راهندازیش شروع میشه تا باگ‌های فراوانی که برمیخوری. ورژن جدید اندروید استادیو با افزودن instant run و قابلیت دیباگ انلاین بدون ریستارت اپلیکیشن و همچنین افزایش سرعت gradle خیلی عالی شده و سرعت کار رو بالا برده
    • #
      ‫۸ سال و ۳ ماه قبل، سه‌شنبه ۸ تیر ۱۳۹۵، ساعت ۲۰:۲۷
      من جدیدا Xamarin  رو نصب کردم مشکلات نسخه‌های قدیمی برای نصب رو نداره.واقعا بدون دردسر نصب شد :
      1-  xamarin visual studio v4.0.1.93 
      2-jdk
      3-sdk
      4-ndk
      البته شاید تنها مشکل در ابتدا بالا بودن حجم پکیج‌های موارد 3و 4 برای دانلود هست
  • #
    ‫۸ سال و ۳ ماه قبل، چهارشنبه ۹ تیر ۱۳۹۵، ساعت ۰۴:۰۴
    من یه پروژه بزرگ رو با xamarin شروع کردم و تا 80 درصد کار هم پیش رفتم ولی بعد از اینکه تو پروژه از tab و pager شبیه واتساپ استفاده شد در گوشی‌های با اندروید 5 برنامه با خطای نامشخص بسته میشد. حتی sample‌های مربوط به tab و pager‌های مدرن xamarin که داشتم هم رو اندروید 5 اجرا نمیشد. البته مشکلات و خطاهای نامشخص دیگری هم پیش اومد. مشکل رایگان نبودن هم بود. نهایتا کل پروژه با اندروید استدیو بازنویسی شد و نتیجه بسیار عالی شد. به علاوه مزایای  sample‌های فراوان، رفع باگ سریعتر با جستجوی گوگل، رایگان بودن.
  • #
    ‫۷ سال و ۱۲ ماه قبل، جمعه ۲ مهر ۱۳۹۵، ساعت ۰۴:۳۰
    نظر من Native, به این دلیل که :1- گوگل به طور رسمی ازش پشتیبانی میکنه پس خیلی سریع به آخرین تغییرات و api‌های مرتبط دسترسی وجود داره  2- توسعه بصورت رایگان هست . 3- کامیونیتی بزرگ‌تری برای اون وجود داره ، حین برنامه نویسی احساس تنهایی نمیکنم :) 4- قدمت بیشتری داره بنابرین بسیاری از سوالات و مشکلاتی که حین توسعه پیش میاد ، قبلا برای سایر دولوپر‌ها پیش اومده و با یه سرچ کوچیک میشه به جواب رسید 5- یادگیری یه زبان و پلتفرم دیگه برام لذت بخش هست 6- روش‌های native به اصطلاح پخته‌تر و stable‌تر هستند .  7- و شاید بزرگترین دلیل اینکه خیالم راحته ، از این نظر که میدونم ابزاری که استفاده میکنم به احتمال قریب به یقین تا چند سال آینده تغییر چندانی نخواهد کرد ، با خاطر آسوده فقط به موضوع فنی که یه برنامه نویس باید مسلط باشه تمرکز میکنم و نگرانی ندارم که ممکنه ظرف مدت زمان کوتاهی مجبور شم سوئیچ کنم به یک محیط و ابزار دیگه .
    دلایل ریز‌تر دیگه ای هم برای من وجود داره که به اندازه دلایل سبعه فوق (!) اهم نیستند .