سلام من میخوام یه اپ اندرویدی بنویسم برا دانشگاهمون
که شامل نوتیفیکیشن با تعداد کاربر زیاد و یه سری کارهای دانشحویی هست مثل رزرو غذا و ...
که نیاز به ui خوب و سرعت بالا دارم
میخواستم بدونم kotlin بهتره استفاده کنم یا flutter
البته اندروید هم بلدم ولی خیلی مزخرفه
ممنون
@godbavan گرامی شما احتمالا شما "اندروید" بلد نیستد بلکه جاوا بلدید
1-نوتیفیکیشن رو باید سمت backend کار هندل کنید و تفاوتی در زبان برنامه نویسی نداره
2-کاتلین دارای منبع غنی از کتابخانه های UI است که هم به زبان جاوا نوشته شده و هم به زبان کاتلین ولی فلاتر هم تقریباکم نداره
3-سرعت و پرفورمنس کاتلین بهتر است
4-سرعت توسعه در فلاتر بسیار بیشتر است (به دلیل اینکه خروجی اندروید و IOS رو بهتون میده)
و مهمتر از همه اینه که شما از کدوم زبان برنامه نویسی خوشت میاد ، به این دلیل که نرم افزار شما انقدر بزرگ نیست که یکی زبان برنامه نویسی اشاره شده امکانات آن را نداشته باشند
فلاتر:
۱) دو نسخه اندروید و آبفون رو خروجی میده ولی این به این معنا نیست که یک دکمه خروجی رو بزنی و دو تا نسخه تحویل بگیری برای هر کدوم اندروید و آیفون باید کانفیگ ها و سورسهای لازم رو فراهم کنی تا بعد خروجی بهتر کار کنه و من زیاد وارد جزییاتش نمیشم.
۲) زبان برنامه نویسی دارت برای فلاتره و تو بیشتر میتونی برای فلاتر کار کنی و جای دیگه بعید میدونم مثلا بخوایی یک پخش کننده موزیک با فرمت MKV پخش کنی احتمالا باید خودت از صفر با دارت توسعه بدی
کاتلین:
۱) زبان رسمی توسعه نرم افزار اندرویده و به راحتی میشه کدهای جاوا رو تبدیل به کاتلین کرد - درسته فقط اندروید مینویسی ولی خوبیش به اینه که شاهکار درست میکنی و دستت باز تره و نه یک کار دستی
۲)توسعه نرم افزار اندروید با کاتلین به مراتب راحتتره چون که تا اندروید هست معماری هم همونه و تغییر نمیکنه
۳) بطور مثال برای پخش فیلم MKV میتونی از کتابخانه های مختلفی بهره مند بشی و کلی مثال دیگه
خلاصه : فلاتر درسته دو نسخه تولید میکنه ولی راه رسیدن به این هدف تنها زدن یک دکمه نیست بلکه بسیار باید مواردی رو رعایت کنی و هواست بهشون باشه تا درست کار کنن- کاتلین درسته فقط اندرویده ولی به راحتی و با کیفیت و دست و دلبازی میتونی نرم افزار اندروید بنویسی
اما : اگر میخوایی برای موبایل نرم افزاری بنویسی که بسیار فضای گرافیکی داره و در واقع به نوعی بازی هستش بهتره بری سراغ گیم انجین ها مثل unity که همینو توصیه میکنم چون unreal هم هست ولی بسیار قدرتمنده و اصولا کار باهاشم سنگینه - unity از زبان C# استفاده میکنه و به راحتی میتونی تمام اهداف گرافیکی رو جلو ببری
@godbavan
توضیحات دوستان بسیار کامل و روشنه
اما این طور ک ب نظر میاد فقط یه سری دیتالیست میخوای نمایش بدی و ی سری مقادیر رو بفرستی به api اگه به قول دوستان نخای بازی درس کنیو پخش کننده حرفه ای بخوای و ... صد در صد پیشنهاد من هم فلاتر هست
@omidshz عزیز چیزی که راجع به فلاتر گفتین ("فلاتر درسته دو نسخه تولید میکنه ولی راه رسیدن به این هدف تنها زدن یک دکمه نیست بلکه بسیار باید مواردی رو رعایت کنی و هواست بهشون باشه تا درست کار کنن") راجع به ری اکت نیتیو هم صدق میکنه؟ من شنیدم هرکی رفته سمت ری اکت نیتیو برگشته و پشیمون شده از دوستام شنیدم البته / کلا برنامه نویسی موبایل کراس پلتفرم بین فلاتر و ری اکت نیتیو و زامارین کدومو پیشنهاد میکنین؟
در React-Native هم همین مسئله هست. حتی برای خروجی iOS گرفتن نیاز به xCode و سیستم عامل مک دارید...
فاکتورهای مقایسه ای بین اینها خیلی زیاده اما به طور ساده بگم:
اگر اپ شما یه شبکه مجازی باشه.. سیستم دانشگاهی یا چیزهایی از این قبیل، خوب React Native و فلاتر کاملا کارآمد هستند و سرعت توسعه رو افزایش میدند...
مثلا Instagram رو در نظر بگیرید.. این اپ با React Native توسعه داده شده و اینکه داره در لحظه میلیون ها کاربر رو پشتیبانی میکنه تنها به سرور های قوی و کانفیگش برمیگرده
هر چند ممکنه برای بعضی کارها (مثلا ارتباط مستقیم با سخت افزار) مجبور شید چند خط کد Native هم بنویسید
اما اگر قراره داخل اپ با Game Engine ها کار کنید و یا صورت کاملا تخصصی با سخت افزار دستگاه در ارتباط باشید... مسلما زبان های Native بهتر هستند
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟