Vania Dart Framework
Open in Telegram
فریم ورک بکند وانیا برای دارت داکیومنت https://vdart.dev
Show more315
Subscribers
No data24 hours
-27 days
+330 days
Posts Archive
نسخه 0.4.0 وانیا منتشر شد
مهمترین تغیرات اضافه شدن مکانیزم ولیدیشن کردن فیلد ها توسط @alirezat_66
Router.post("/product", (Request request) {
request.validate([
Validation(field: 'email', rules: [
IsRequired('ایمیل اجباری می باشد.'),
IsEmail('ایمیل نامعتبر می باشد.')
]),
Validation(field: 'name', rules: [
IsRequired('نام الزامی می باشد'),
IsAlpha('نام فقط میتواند الفبا باشد')
]),
]);
return Response.json(request.all());
});
البته مکانیزم قبلی نیز هم وجود دارد که به صورت | رول ها رو تغییر میدادید
مورد دوم استفاده از گروه های تو در تو
فرض کنید که شما گروه داشبورد را دارید که در این گروه میخواهید 2 گروه کاربر و مدیر داشته باشید و هر یک از این گروه ها مجددا گروه های دیگری دارند در نسخه جدید مشکل گروه های تو در تو نیز رفع شده است
برای مثال
https://mydomain.com/dashboard/admin/product/create
Router.group(() {
Router.group(() {
Router.get("/create", () {
return Response.json({'message': 'Hello create product'});
});
}, prefix: '/product');
}, prefix: '/admin');
}, prefix: '/dashboard');
پ.ن: گروه برای این وجود دارد که شما کلاس روت تمیزی داشته باشیددوستان عزیز مثل اینکه توسعه دهنده پکیج الکونت و postgres_fork یک بروز رسانی داده جدیدا که باگ داره بهش هم گزارش شده برای اینکه به این مشکل نخورید پابسپک رو باز کنید و توی خط 19
postgres_fork: 2.7.0
رو اضافه کنید تا اینکه ورژن جدید رو بده و مجددا
dart pub get
کنید
این هم ریپازیتوری و کد ها
کار تقریا 1 ساعته هستش
https://github.com/vania-dart/websocket_example/
ایجاد چت بین دو شخص و گروهی با فریم ورک وانیا
پ.ن : چون وانیا(دخترم) این آهنگ رو دوست داره و هر دقیق پخش میکنه روی ویدیو گذاشتمش 😁
اگر با بکند آشنا نیستید و میخواید برای پروژه های خودتون یا شرکتتون شروع کنید به بکند یاد گرفتن چی بهتر از زبانی که باهاش آشنا هستید
توی این آموزش 3 ساعته شما با استراکچر وانیا آشنا میشید همراه با مینی پروژه فروشگاهیی
https://www.youtube.com/watch?v=Tnk1lbh455w
فقط پیچیدگی کوئری لیست مکالمات رو داشته باشید 😁
توی این مسیر میتونید ببینیدیش
https://github.com/javad-zobeidi/vania-chat-application/blob/main/server/lib/app/http/repositories/conversation/conversation_repository.dart
پروژه چت بخش بکند بروز رسانی شد
امکان ارسال چت خصوص به یک کاربر بر اساس id کاربر ارسال مدیا هم امکان پذیز هستش
گرفتن لیست مکالمات کاربر
بروز رسانی جدید وانیا نسخه 0.3.2
- Refactor Response class
- Add jsonWithHeader response
- Add QueryException to model class
- Add Databse helper
- Add Create and InsertMany to the ORM
- Add DB Transaction
- Add Cookies,Integer,asDouble to request class
- Fix request body int fields
- Fix PostgreSQL typo
- Fix drop table issue when table has foreign key
این سرور چت یک چیز عجیبی شده خودم کیف کردم
چت خصوص
کانال
چت گروهی
لیست همه چت ها گروه، کانال، خصوصی رو داره
تصمیم گرفتم تماس تصویری هم بهش اضافه کنم
فردا یک بروز رسانی روی سرورش داریم
Vania_cli
بروز رسانی شد
بزای بروز رسانی کافیه
vania update
رو بزنید
مهمترین تغیرات اضافه شدن db:seed و migrate:fresh
شما وقتی یک جدولی رو ایجاد میکنید و میخواهید اطلاعات پیش فرض قرار بدید میتونید از db:seed استفاده کنید یا اسن دستور یک فایل seed ایجاد میکنید مدل رو توی اون صدا میزنید و اطلاعات رو درون اون قرار میدید و با migrate:seed میتونید این اطلاعات رو در جداول قرار بدید
migrate:fresh
یک زمانی شما میخواید جداول رو از نو بسازید و همه جداول رو پاک کنید اگر کمتر از 5 جدول داشته باسید کار راحت هستش ولی اگر بیس از 5 جدول داشته باشید یکمی آزاردهنده هستش با این دستور میتونید همه جدوال رو توسط وانیا پاک کنید
🔴 در استفاده از دستور migrate:fresh باید احتیاط کنید چون جداول پاک شده اگر بکاپ نباشند قابل بازگشت نیستند
پروژه چت با وانیا رو میتونید از مخزن زیر دنبال کنید هر روز بخش های از این اپلیکیشن رو بروز میکنم
میتونید نحویه کد ساخت سرور رو با مخزن دنبال کنید
https://github.com/javad-zobeidi/vania-chat-application/tree/main/server
سعی میکنم تمام موارد رو هندل کنم
پروژه سمپل چت با فریم ورک وانیا آخر این هفته منتشر میشه ✌️
دیتابیس مانگو
امکان چت خصوصی
امکان چت گروهی
پروفایل کاربر
چت Real-Time
نسخه 0.3.0 وانیا منتشر شد
مهمترین برزوز رسانی ها
افزودن شرط برای Route ها
https://github.com/vania-dart/framework/issues/79
افزودن Route های any و resources
https://github.com/vania-dart/framework/issues/80
حل مشکل پارمتر های که null بر میگردن
https://github.com/vania-dart/framework/issues/81
افزایش RPS و کاهش latency
ریفکتور کردن کلاس routerو چند بروز رسانی کوچیک
برای استفاده بهینه از وانیا به اخرین نسخه بروز رسانی کنید
Repost from FlutterFarsi_com
بریم برای پارت دوم فول استک شو با دارت
تو این پارت دسته بندی رو آموزش دادم
( قسمت بکندش )
لینک آموزش :
https://youtu.be/CMHZ9kBc7p8
لایک یادتون نره ❤️
فلاتر فارسی مرجع آموزش های فلاتری
@flutterfarsi_com
تجربه اخیر بر روی وانسا و بهینته تر کردن فریم ورک
RPS
یا تعداد درخواست در ثانیه و
Latency
مدت زمان دریافت پاسخ از سمت سرور در کنار امنیت، سادگی استفاده تمیزی معماری و امکانات یک فزیم ورم دوتا از مهمترین و اصلی ترین فاکتور فریم ورک های بکندی هستند که اکثر شرکت ها برای انتخاب فریمورک درنظر میگیرند.
برای اینکه بدونند کدام فریم ورک RPS, Latency و مصرف رم مناسبی داره از بنچ مارک استفاده میکنند
در پست بالا میبینید 3 فریم ورک و یک پکیچ با اختلاف کمی از وانیا بالاتر هستند چون وانیا داره پردازش زیادی روی دخواست ها انجام میده تا اطلاعات بیشتری به توسعه دهنده بده و کمی توی RPS پایین بود
ولی این فقط یک بهونه هستش از نظر من پس توی این یک هفته نشستم و فقط فریم ورک رو بهینه کردم و الان ینچ مارکی به وسیله این بنچ مارک اوپن سورس انجام دادم از سرور پاد هم بالاتر رفته ✌️ و مصرف رم پایین داره
همه فریمورک ها دارند از HttpServer استفاده میکنند همچنین وانیا، که یک کتابخانه سطح بالا هستش برای نسخه های آینده وانیا میخوام از RawServerSocket استفاده کنم که سطح پایین هستش (اخرش هستش قبل از ServerSocket رو داریم بالاتر از این ولیدباز سطح پایین هستش) ولی توانایی تحمل RPS بیشتری نسبت به HttpServer داره البته ورژن های استیبل به بالاتر
بزود بنچ مارک جدید رو میفرستم برای تست ✌️
بنچ مارک فریم ورک های بکند
https://sharkbench.dev/web
وانیا برای اینکه داره از کل فریم ورک استفاده میکنه و نه بخشی از اون 3 رتبه پایین اومده 3 فریم ورک منجمله سرور پاد توسنه حدودا 400 درخواست در ثانیه RPS ببیشتر از وانیا بگیره به خاطر مینیمال بودن نسخه فعلیش هستش هستش و فقط از Route استفاده شده بالا تر قرار گرفتند
البته در حال بهبود وانیا برای دریافت درخواست های بیشتر هستیم
ولی نکته جالب اینکه دارت از GO و C# بالا تر قرار داره توی حجم درخواست ها 🎉
