<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های هادی</title>
        <link>https://virgool.io/feed/@hadi7546</link>
        <description>https://hadi7546.ir</description>
        <language>fa</language>
        <pubDate>2026-06-06 22:36:46</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/180252/avatar/8ZKXoy.png?height=120&amp;width=120</url>
            <title>هادی</title>
            <link>https://virgool.io/@hadi7546</link>
        </image>

                    <item>
                <title>گنجورک؛ راحت‌تر شعر بخوانیم!</title>
                <link>https://virgool.io/@hadi7546/ganjoorak-lpli7qfxeuww-lpli7qfxeuww</link>
                <description>از آخرین باری که در اینجا پستی را منتشر کرده‌ام حدودی ۴-۵ سالی می‌گذرد. بی‌خود نیست اگر بگویم ویرگول در سال‌های اولیه‌ای که در آن بودم باعث شد بخش زیادی از هویت فعلی من شکل بگیرد، عمدتا بخاطر تمشک (آه، تمشک عزیزم.) و دوستانی که در اینجا یافتم. امروز اما علاوه‌بر تجدید خاطره‌های قدیم، می‌خواهم از سایتی که حدودا یک سال است ساخته‌ام حرف بزنم. https://ganjoorak.irغزلی از مولانا، همراه با ویژگی برچسته‌سازی همزمان با خوانش شعر. https://ganjoorak.ir/poem/3832ایده گنجورک از جایی شروع شد که من با شخصی دوست‌داشتنی آشنا شدم که بسیار به شعر علاقه‌مند بود، به‌خصوص نصرت رحمانی، و شعر نو. کمی ایده‌پردازی و این‌ها، شروع کردم به ساختن پایه‌های اون، که می‌شد یک وب‌سایت اسکرول‌محور برای خوندن و شنیدن شعرهای فارسی، که شعرها به صورت تصادفی از گنجور گرفته می‌شدند.کمی بعدتر، برای اینکه سایت فقط از شعرهای کهن پشتیبانی نکند،‌ دو شاعر نو که یکی فروغ و دیگری رحمانی بود رو اضافه کردم. در بلاگ گنجور هم معرفی شد و بعد از اون تقریبا سایت به حال خودش رها شد. امسال اما در عید، با وجود کنکوری بودن و قطعی اینترنت، برای کمی گذران وقت بهتر، سعی کردم کمی آن را بهبود دهم. یکی از این بهبودها اضافه شدن منبع کلانی از شعرهای نو از سایت اکولالیا بود(فهرست کامل شاعران پشتیبانی‌شده در این آدرس دردسترس است.). شما الان در بخش شاعران سایت، می‌توانید شعرهای نزدیک به ۴۰۰ شاعر رو بخوانید و اگر صوتی از اون‌ها دردسترس بود بهشون گوش کنید. می‌توانید آدرس ganjoorak.ir رو پشت هر شعری در گنجور قرار بدید تا اون رو در گنجورک مطالعه کنید.و اما ویژگی بعدی که من خیلی دوستش دارم، اشتراک‌گذاری شعرها به‌صورت تصویر مثل لیریک‌های اسپاتیفای هست. برای نمونه همین غزل بالا:</description>
                <category>هادی</category>
                <author>هادی</author>
                <pubDate>Wed, 20 May 2026 13:51:14 +0330</pubDate>
            </item>
                    <item>
                <title>فلاتر ۳ منتشر شد!</title>
                <link>https://virgool.io/flutter-community/flutter-3-lw4e9j8t0vv8</link>
                <description>منابع استفاده شده برای این مقاله:https://invertase.io/blog/please-welcome-flutter-3https://medium.com/flutter/whats-new-in-flutter-3-8c74a5bc32d0https://medium.com/flutter/introducing-flutter-3-eb69151622fhttps://docs.flutter.dev/whats-newhttps://docs.flutter.dev/development/tools/sdk/release-notes/release-notes-3.0.0تیم توسعه‌‌‌‌‌ٔ فلاتر دیشب در یک اقدام پیش‌بینی نشدنی، از نسخه ۳ فلاتر همراه با دارت ۲.۱۷ در Google I/O 22 رونمایی کرد.تیم اسنیث(Tim Sneath)، مدیر محصول فلاتر این نسخه رو اینگونه در پست مدیوم‌ش توصیف کرده:The culmination of our journey to multiplatform UI development on phone, desktop, and webفلاتر ۳ همراه با دش های عزیز:) خلاصه‌ای از تغییرات این نسخه:تمامی ۶ پلتفرم پشتیبانی‌شده توسط فلاتر در کانال پایدارپرفورمنس بهتر در فلاتروبپشتیبانی بهتر از دستگاه های فولدیبلپشتیبانی از متریال ۳(Material You) به صورت پایداراکستنشن‌های بیشتر برای کلاس تم جعبه‌ابزار برای بازی‌ سازیاضافه شدن بخش games به سایت فلاترپشتیبانی از  پردازنده اپل‌سیلیکونبهبود در فایربیس برای فلاترSupercharged enumsSuper constructorName args anywhereشروع سفر به فلاتر ۳طبق حرف‌های مدیر محصول فلاتر و تجزیه و تحلیل‌های شرکت‌های تحقیقاتی مثل data.ai و گواهی‌های عمومی، در حال حاضر بیش از ۵۰۰,۰۰۰ برنامه با فلاتر ‌ساخته شده‌؛ از شبکه‌های اجتماعی مثل WeChat تا برنامه‌های مالی و بانکی مثل Betterment و NuBank، از برنامه‌های تجاری مثل SHEIN و trip.com گرفته تا برنامه‌های سبک‌زندگی مثل Fastic و Tabcorp، از برنامه‌های همراه مثل My BMW گرفته تا موسسات عمومی مثل دولت برزیل!طبق سوالات و آمارها:۹۱٪ توسعه‌دهندگان فلاتر معتقدن که فلاتر، سرعت توسعه و انتشار برنامه‌هارو کاهش میده!۸۵٪ گفتند که فلاتر بهشون در ساخت برنامه‌های زیباتری بسازن!۸۵٪ گفتند که فلاتر باعث شده برنامه‌هاشونو روی بیشتر از ۱ پلتفرم منتشر کنن!سیر تحولات ریلیز های فلاتر در ۴ سال گذشته از فلاتر بتا تا نسخه ۳ پشتیبانی از تمامی پلتفرم‌ها در کانال پایدار(Stable)اندروید،‌ iOS، وب و ویندوز مدتیه که در کانال پایدار اضافه شدن و حالا وقت اضافه شدن بقیه پلتفرم‌های دسکتاپ بود، در نهایت ما Linux و macOS رو در لیست پشتیبانی در کانال پایدار داریم. فلاتر ۳ یکی از مهم‌ترین ریلیز های این فریمورک از ابتدای کاره، چون حالا تمامی ۶ پلتفرم پشتیبانی شده توسط فلاتر،‌ در کانال پایدار قرار دارن!6+1 Platform :)ویژگی های جدید در فلاتر وبچرخه‌حیات اپلیکیشن در وبیک API جدید برای کنترل کامل روی محتوا، فریمورک فلاتر و انجین اون، برای مثال  preloading محتوا حین نمایش صفحه لاگین یا یک پروگرس بار.رمزگشایی سریع‌تر تصاویر و اسکرولفلاتر ۳ تغییر بزرگی در اسکرول و رمزگشایی تصاویر داشته، به ویژه اگر از نسخه‌های ۹۹ به بالای کروم استفاده کنید. در واقع فلاتر برای این تغییر از API جدید web-codec در مروگر های جدید برای رمزگشایی سریع تصاویر استفاده کرده و اسکرول بهتری رو با شانس بالای ۶۰ فریم‌بر‌ثانیه حین رمزگشایی تصاویر معرفی می‌کنه.شخصی‌سازی لودینگ اولیهآیا شما یک توسعه‌دهنده وب هستید و می‌خواید کنترل بیشتری روی روند لودینگ اولیه وب‌‌اپتون داشته باشید؟‌ صفحه جدید داکیومنت فلاتر رو بخونید!تمامی این ویژگی هارو در فلاتر گالری میتونید ببینید: https://gallery.flutter.dev/ متریال ۳(Material You)گوگل در سال پیش از نسخه‌ جدید دیزاین سیستم Material رونمایی کرد و از همون روزها تیم فلاتر مشغول پشتیبانی ازش هستند(روند اون رو میتونید در این issue در گیت‌هاب ببینید)پشتیبانی از تمامی ویجت های متریال  ۳ در فلاترویجت‌هایی که برای متریال۳ به فلاتر اضافه شدن:Adaptive colorsNew buttonsNew app menuVariable font supportبرای استفاده از متریال ۳،‌ به کلاس ThemeData یک پارامتر به نام useMaterial3 اضافه شده:return MaterialApp(
      theme: ThemeData(useMaterial3: true),    
// ... );جعبه‌ابزار فلاتر برای بازی‌سازانفلاتر با استفاده از پشتیبانی‌گرافیکیش که شتاب سخت‌افزاری خوبی ارائه می‌ده و همچنین موتور های بازی‌سازی متن‌باز مثل Flame شروع کار رو برای توسعه‌دهندگان بازی‌های معمولی راحت‌تر می‌کنه!طبق گفته های اسنیث،‌ با اینکه فلاتر برای بازی های اکشن سه‌بعدی طراحی نشده ولی بعضی از این بازی ها برای رابط‌کاربری غیر بازی به فلاتر رو آوردند، از جمله بازی‌های محبوبی مثل PUBG Mobile که صدها میلیون کاربر دارند.هر ساله گوگل در مراسم Google I/O یک برنامه ساخته شده توسط توسعه‌دهندگان فلاتر رونمایی میکنه و امسالم از این قاعده مثتثنی نیست و یک بازی به نام PinBall معرفی کرده‌.این بازی چهار طلسم مورد علاقه گوگل رو در جدول سفارشی‌سازیش ارائه میکنه:Flutter&#x27;s Dash, Firebase&#x27;s Sparky, Android&#x27;s Robot و Chrome&#x27;s Dinosaur!تغییرات های دیگر فلاتر:Enhance code lintsImprove desktop accessibilityCascading menusDesktop system menu supportThe simplified release model for iOSCJK desktop supportSigned executablesدارت ۲.۱۷دارت ۲.۱۷ همراه با فلاتر ۳ با بسیاری از ویژگی های مورد انتظار که توسعه دهندگان منتظر اون بودند، معرفی شد. دارت درواقع سس مخفی پشت فلاتره و هر پیشرفتی که در دارت بشه به بهبود توسعه فلاتر کمک می‌کنه.بهبود در Enumهایکی از عظیم‌ترین بروزرسانی ها برای enumها که اونارو شدیدا تقویت و جذاب می‌کنه! enum Persons {  hadi(&amp;quotHadi&amp;quot, 20),
  mohammad(&amp;quotMohammad&amp;quot, 30),
  ehsan(&amp;quotEhsan&amp;quot, 18);

  final String name;
  final int age;
  const Persons(this.name, this.age);
  String introduction() {
     return &amp;quotMy Name is $name, I have $age&amp;quot
   }
}

void main(){
   print(Persons.hadi.age);
   print(Persons.mohammad.introduction());
}Super constructors برای استفاده از super در نسخه های قبلی ما چنین کدی می‌زدیم:class Person{
  final String name;
  final String family;
  const Person(this.name, this.family);
}

class Hadi extends Person{
  Hadi(String name, String family, this.age) : super(name, family);
  final int family;
}ولی حالا در نسخه ۲.۱۷ ما Super constructors رو داریم:class Person{
  final String name;
  final String family;
  const Person(this.name, this.family);
}
class Hadi extends Person{
  Hadi(super.name, super.family, this.age);
  final int age;
}آرگومان‌ها در همه‌جاقبلاً باید آرگومان های نام رو در آخرین موقعیت سازنده اضافه می‌کردیم. از دارت ۲.۱۷ دیگه نیازی به انجام این کار نیست. می‌تونیم آرگومان های نامگذاری شده خودمون رو در هر جایی از سازنده قرار بدیم.class Person{
  final String name;
  final String family;
  const Person(this.name, this.family);
}
class Hadi extends Person{
  Hadi(super.name, super.family, {required this.age});
  final int age;
  
  void fullName() {
    print(&amp;quot$name $family, $age&amp;quot);
  }
}void main(){
  Hadi(age: 14, &amp;quotHadi&amp;quot, &amp;quotAzarnasab&amp;quot).fullName();
}ویدیوهای یوتیوب و مقالات مدیوم محبوب برای این نسخه(نیازمند به VPN): https://medium.com/flutter/introducing-flutter-3-5eb69151622f  https://medium.com/dartlang/dart-2-17-b216bfc80c5d  https://medium.com/flutter/i-o-pinball-powered-by-flutter-and-firebase-d22423f3f5d  https://www.youtube.com/watch?v=w_ezWG1yKQQ  https://www.youtube.com/watch?v=MEYQUhJdv9c https://www.youtube.com/watch?v=gZQ0b6FsNpQ https://www.youtube.com/watch?v=FGjtxGqSqnc در پایان برای اطلاعات بیشتر می‌تونید منابع و لینک های بالا رو مطالعه کنید.</description>
                <category>هادی</category>
                <author>هادی</author>
                <pubDate>Thu, 12 May 2022 22:18:10 +0430</pubDate>
            </item>
                    <item>
                <title>سلام ویرگول؛ شروع تمشک</title>
                <link>https://virgool.io/TameshkGroup/start-sjpwwwesrvvd</link>
                <description>تمشک! یادگیری با طعم تمشک:)بعد از تجربه‌ای که توی انتشارات قبلی پیدا کردیم وقت اون رسیده بود که یه گروه جدید با اعضای جدید و یه هدف جدید شروع کنیم. که در نهایت رسید به تمشک. تمشک یه گروه آموزشیه، یه گروه آموزشی متفاوت؛‌ با این تفاوت که چنتا نوجوون اون رو میچرخونن.از این لینک میتونین برین و تمام جاهایی که ما فعالیت میکنیم رو ببینید: https://redl.ink/Tameshkما در یوتیوب، آپارات، اینستاگرام، ویرگول، همچنین گیت‌هاب فعالیت می‌کنیم.چه کارهایی رو میخوایم انجام بدیم(بعضیاشون رو انجام دادیم:) :ترفند، نکات و پکیج های پایتونترفند، نکات و پکیج های فلاترترفند و نکات فرانت‌اندادیت فیلم و تولید محتوانقل قول هایی از افراد معروفو خیلی چیزای دیگه پیشنهاد میدم به اینستای ما به آدرس @tameshkteam سر بزنید:)یادگیری با طعم تمشک!اینجا همه باهم یاد میگیریم?از برنامه نویسی بگیر تا ادیت فیلم و تولید محتوا?با لایک و کامنت مارو حمایت کنید. حتما به انتشار ما سر بزنید و دنبالش کنید.خدایا تو چنان کن سر انجام کار     تو خوشنود باشی و ما رستگار</description>
                <category>هادی</category>
                <author>هادی</author>
                <pubDate>Sun, 01 Aug 2021 11:51:24 +0430</pubDate>
            </item>
                    <item>
                <title>نسخه ۲ فلاتر معرفی شد!</title>
                <link>https://virgool.io/flutter-community/flutter-2-fzndfiyid7mg</link>
                <description>سلام به همه دوستان فلاتریحدود ۵ ساعت پیش نسخه ۲ فلاتر معرفی شده و من اینجا خلاصه قابلیت های جدید رو میزارم. فلاتر ۲ در یک نگاهوب و دسکتاپ:از حالا میتونید این دورو در چنل استیبل داشته باشید. تو ورژن های قبل باید به چنل های دیگه میرفتید.از الان میتونید با فلاتر وب وبسایت های تک‌صفحه‌ای(SPA) و PWA بسازید.از الان میتونید با سایت Irobot به طور خیلی ساده اپلیکیشن های فلاتر بسازید. واضحه دیگه:)))از الان فلاتر وب از مرورگر های مدرن هم پشتیبانی میکنه.اگه میخواین در مورد فلاتر وب ورژن ۲ بیشتر بدونین از این لینک استفاده کنید.  فلاتر دسکتاپم از این جدیدا پشتیبانی میکنه.با Rive انیمیشن های زیبا برای اپ خود طراحی کنید. اندروید و IOS:  سرچ بار جدید IOSاز حالا ویجت های CupertinoFormSection، CupertinoFormRow و CupertinoTextFormFieldRow برای اعتبار سنجی بهتر در IOS استفاده می‌شود.اینجوری:)))ویجت های جدید باری اندروید؛ اتو کمپلت و اسکفولدمسنجر:اتو کمپلت یکی از قابلیت های اسکفولد مسنجربرای ساخت چنین اسنکباری از کد زیر استفاده کنید:final messenger = ScaffoldMessenger.of(context);
messenger.showSnackBar(SnackBar(content: Text(‘I can fly.’)));اگه میخواین در مورد قابلیت های جدید فلاتر بیشتر بدونید از این لینک استفاده کنید.خب این پستم تموم شد. یادتون باشه من فقط قابلیت هایی که خوشم اومد ازش رو گذاشتم.لایک و کامنت یادتون نره.به پایان آمد این دفتر       حکایت همچنان باقیست</description>
                <category>هادی</category>
                <author>هادی</author>
                <pubDate>Thu, 04 Mar 2021 11:09:10 +0330</pubDate>
            </item>
            </channel>
</rss>