آموزش فلاتر و دارت
1.58K subscribers
54 photos
19 videos
12 files
44 links
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
به این آمار توجه کنید

از بین اپلیکیشن های منتشر شده در گوگل پلی 19% فلاتر و از زیکت نیتیو جلو زده
و توی اپ استور هم داره به ریکت نیتیو میرسه کم کم
منبع

https://appfigures.com/top-sdks/development/apps
Media is too big
VIEW IN TELEGRAM
هر زبانی که از بکند پشتیبانی میکنه نیاز به یک فریمورک خوبی داره

فریمورکی که استفاده از اون راحت باشه

دارت هم نیاز داره به یک فریم ورک خوب برای بکند که متسفانه فریمورکی نیست که بشه با اون بکند رو به راحتی توسعه داد

منم تصمیم گرفتم یک فریمورکی رو توسعه بدم که برنامه نویس های دارت بتونند راحت بکند توسعه بدن

و شما با این فریم ورک در کنار فلاتر به یک فول استک دولپر تبدیل خواهید شد😁😁
واکشی دیتا از Mysql به همین راحتی با استفاده از Model ها

Easy peasy lemon squeezy
تست نویسی از نظر من و خیلی از برنامه نویسان یکی از مهمترین بخش های توسعه یک نرم افزار هستش اینکه قبل از انتشار نرم افزاری یا پکیجی براش تست بنویسی میشه گفت از به وجود اومدن باگ های زیادی جلوگیری میکنید

خب نسخه بتا فریم ورک جدید دارت آماده شده در حال آماده سازی داکیومنت و نوشتن تست های فریم ورک

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

بزودی بنچ مارک این فریم ورک رو هم قرار میدم
com_fluttershark_fluttersharkapp_v1.3.8.apk
4.4 MB
این نرم افزار رو نصب کنید ببینید چه اپلیکیشنی با فلاتر نوشته شده روی گوشی شما و ببینید از چه پکیج های استفاده کرده
کدام توزیع از لینوکس را ترجیح میدید؟ (برای همه کار ها برنامه نویسی، کار های روز مره و....)
Anonymous Poll
11%
Debian
76%
Ubuntu
11%
Arch Linux
9%
Mint
6%
Manjaro
6%
Fedora
ما چیزی داریم به نام مدل OSI

بچه های شبکه توی دانشگاه یا کلاس های شبکه درموردش خوندن حتماً


از 7 لایه تشکیل شده
وقتی دارید با API کار میکنید دیتای که ارسال میکنید از این 7 لایه میگذره و به مقصد میرسه


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

ولی توی مقصد دریافت و پردازش داده از لایه اول شروع میشه تا برسه به لایه هفتم

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

دیگه نگران منابع مصرفی توسط شبیه ساز به هیچ وجه نباشید 😍

همین الان دارم ازش استفاده میکنم واقعا عالیه با اینکه نسخه آلفا هستش باز خیلی خوبه
مهندس نرم افزار یک توسعه دهنده نیست
آیا میدانستید؟

در انتشار نسخه های اپلیکیشن (موبایل ، دسکتاپ ، وب و ...) ما چیزی به نام
Software release life cycle
که چند مرحله داره!

1) Pre-alpha
2) Alpha
3) Beta
3-1) Perpetual beta
3-2) Open and closed beta
4) Release candidate
5) Stable release
6) End-of-life

هر شرکتی برای اینکه اپلیکیشن یا پروژه ای قوی در سطح بین المللی منتشر کنه باید این 6 مرحله رو بگذرونه و خیلی از شرکت ها بزرگ این کار رو میکنند؟

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

* تقریبا توی تمام شرکت های که در ایران کار کرده بودم مستقیم میرفتیم روی مرحله 5 😅 و کلا روی این مرحله میموندیم


اگر بخوایم اپلیکیشن قوی داشته باشیم مرحله 1 تا 4 مهمترین مراحل انتشار یک اپلیکیشن یا فیچری که به اپلیکیشن اضافه کردیم هستند(توجه کنید گفتم فیچر جدید ممکنه اپلیکیشن توی مرحله 5 هستش و یک فیچری اضافه کردیم که شماره ورژن ماژور رو تغییر داده اون فیچر حتما باید این چرخه رو بگذرونه یعنی اپلیکیشن از 1.0.0 رفته روی 2.0.0 )

حتما درمورد این چرخه حیاتی انتشار اپلیکیشن و ورژن بندی اپلیکیشن تحقیق کنید

البته بین مرحله 2 و 3 چیزی به نام Feature-complete داریم که اینجا نیاوردم و معمولا از 2 مستقیم میرند روی 3 در بیشتر موارد
از وقتی که، از جاوا و کاتلین به سمت دارت و فلاتر سوئیچ کردم دنبال فرصتی بودم که یک فریمورک برای نوشتن بکند با دارت توسعه بدم

چند سالی گذشت تا رسید به یکی دوماه قبل که استارتش رو زدم روز ها پروژه های شرکت رو انجام میدادم شب ها و روز های جمعه هم روی فریم ورک وقت میگذاشتم تا یکی دو روز پیش که نسخه آلفا رو آماده کردم داکیومنتش هم بخش ORM و بخش AUTH مونده که باید تکمیل کنم

چند تا از بچه ها داوطلب شدن نسخه آلفا رو تست کنند 💙

ویژگی هاش
فعلاً فقط برای توسعه api هستش
امکان ایجاد وب سوکت درکنار api
استفاده از ORM برای دیتابیس (نیازی به نوشتن SQL نیست)
رویتنگ مشابه به لاراول
امکان ایجاد میدلور
ولیدیشن کردن درخواست ها
داشتن سرویس پروایدر
امکان استفاده از تمام پکیج های دارت
امکان دیپلوی بر روی داکر


دلیل ایجاد فریم ورک برای دارت هم این بود چون چند بار با خود دارت پروژه های تستی بکند زدم هم سرعت توسعه و هم سرعت لود واقعا خوب بودن مخصوصا که دارت کامپایلری هستش و میشه از ایزوله ها استفاده کرد و حتی از Future ها هم استفاده کرد

اسمش رو همنام دخترم گذاشتم و انتشار عمومی نسخه بتا روز تولد دخترم که 11 ام اسفنده هستش 💙
😂 بدبخت فلاتر 😂
خیلی از دوستان درمورد استفاده از دیتابیس ها و پکیچ های دارت توی فریمورک پرسیدن درمورد پکیچ ها باید بگم شما هر پکیچی که به وسیله دارت (فلاتری نباشند) رو میتونید راحت توی فریم ورک استفاده کنید و هیچ محدودیتی ندارید

برای دیتابیس ها هم به صورت پیش فرض 2 تا دیتابیس رو میتونید به صورت ORM استفاه کنید Mysql و Postgresql ولی برای استفاده کردن از دیتابیس های NO-Sql مثل Hive هم محدودیتی ندارید

یک قابلیت خیلی خوبی توی فریم ورک گنجانده شده به نام ServiceProvider میتونید یک کلاس ایجاد کنید و از سرویس پروایدر فریمورک extends کنید دوتا متد داره رجیستر و بوت که رجیستر قبل از هر چیزی صدا زده میشه و کلاس های شما مقدار دهی میشن این هم نمونه استفاده از Hive نتیجه توی مروگر