<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Sobhan Moradi</title>
        <link>https://virgool.io/feed/@sobimor</link>
        <description>توسعه‌دهنده‌ اندروید و فلاتر | خلبان پاراگلایدر</description>
        <language>fa</language>
        <pubDate>2026-06-07 01:44:38</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/55582/avatar/SF2nBt.png?height=120&amp;width=120</url>
            <title>Sobhan Moradi</title>
            <link>https://virgool.io/@sobimor</link>
        </image>

                    <item>
                <title>مهارت‌های یک برنامه‌نویس ارشد(واقعی) اندروید</title>
                <link>https://virgool.io/mobileDev/%D9%85%D9%87%D8%A7%D8%B1%D8%AA%D9%87%D8%A7%DB%8C-%DB%8C%DA%A9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D9%86%D9%88%DB%8C%D8%B3-%D8%A7%D8%B1%D8%B4%D8%AF%D9%88%D8%A7%D9%82%D8%B9%DB%8C-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-y6ijmthft86q</link>
                <description>Senior developerدر این نوشته قصد دارم به لیستی از مهارت‌هایی که یک توسعه‌دهنده‌ی ارشد (واقعی) اندروید در سال ۲۰۱۹ باید بلد باشه اشاره کنم.چرا این لیست رو تهیه کردم؟همیشه قبل از رفتن به مصاحبه‌های کاری مهارت‌هایی رو که بلد نیستیم و حتی اونایم که بلدیم رو عمیق مطالعه می‌کنیم، تا اونطوری که باید خودمون رو نشون بدیم.چند وقت پیش که دنبال کار بهتر در شرکتی بزرگتر بودم، قبل اینکه شروع به ارسال رگباری رزومه به آگهی‌های جابینجا (و یا سرویس های مشابه) کنم یه زمانی رو به مطالعه‌ی تکلونوژی‌های جدید و مهارت‌هایی که شرکت‌های بزرگ در  آگهی‌هاشون بهش اشاره کردن، اختصاص دادم.قبل شروع لیستی از این مهارت‌ها تهیه کردم.به دلیل اینکه قبل شروع هر پروژه معمولا یه زمان یک هفته‌ای رو به تحقیق و R&amp;D تکلونوژی های جدید اختصاص میدم و همیشه سعی کردم تا حدی که زمان پروژه اجازه بده از جدیدترین تکنولوژی‌ها ،ابزارها و Best practiceها استفاده کنم به همین دلیل پس از تهیه این لیست بلند بالا از تعداد مهارت‌هایی که بلدم نیستم، شوکه نشدم.این لیست رو با شما به اشتراک میذارم تا با کمک هم این لیست رو تکمیل‌تر کنیم چون میدونم به درد خیلیا می‌خوره.لیست مهارت هاKotlin Multi-threadKotlin CoroutinesAndroid JetpackFoundationArchitectureBehaviorUIReactive programingRxAndroidRxJavaRxKotlinCoroutinesSoftware architectural patternMVVMMVPClean ArchitectureMVIDependency InjectionDaggerkodeinUIConstraintLayoutCustom ViewCodingOOPSOLIDInheritanceMemory leakTeam WorkGit FlowAgilen &amp; SCRUMContinuous IntegrationTestsProfilingUI testIntegration testUnit testGradle advanceSDK developmentPersistent storageنوشته‌های بعدیدر نوشته‌های بعدی سعی می‌کنم در حد توانم، دانش و تجربه‌م رو مربوط به هر یک از موارد لیست بالا رو در یک یا چند نوشته باهاتون به اشتراک بذارم.پست‌های آینده در عنوان هر یک از مهارت‌های بالا هایپرلینک خواهد شد.تاریخ آخرین بروزرسانی : ۳۰ مرداد ۱۳۹۸پی‌نوشت:۱. این لیست مرتب و مداوم بروز می‌شه و تاریخ آخرین بروزرسانی در آخر نوشته درج شده، پس بهتره این نوشته رو بوک‌مارک کنی.۲. لیست بالا طبق تجربه‌ی شخصی، جستجو در آگهی‌های استخدامه شرکت‌های معتبر داخلی و خارجی و همچنین پرس‌وجو کردن از چندین توسعه دهنده‌ی ارشد جمع‌آوری شده.۳. امکان داره مواردی از قلم افتاده باشه، خواهشا/حتما زیر این پست بهش اشاره کنید تا لیست رو تکمیل تر کنم.</description>
                <category>Sobhan Moradi</category>
                <author>Sobhan Moradi</author>
                <pubDate>Wed, 21 Aug 2019 22:54:04 +0430</pubDate>
            </item>
                    <item>
                <title>فلاتر یا اندروید (Flutter vs Android)</title>
                <link>https://virgool.io/flutter-community/%D9%81%D9%84%D8%A7%D8%AA%D8%B1-%DB%8C%D8%A7-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-flutter-vs-android-odjzfoj6mgjs</link>
                <description>Android vs Flutterدر این نوشته قصد دارم تصمیمی که در مورد مهم‌ترین دو‌راهی‌ حرفه‌م (توسعه نرم‌افزارهای موبایل) گرفتم رو با شما درمیان بذارم چون احساس می‌کنم خیلیا مثل من میان این دوراهی که توسعه Native و یا توسعه Cross platform نرم‌افزار‌های موبایل رو هدف قرار بدن و دنبال کنن، گیر کردن.در این نوشته به سوالات زیر پاسخ میدم:چرا فلاتر رو برای توسعه انتخاب کنم‌؟چرا Native (اندروید یا iOS) رو برای توسعه انتخاب کنم؟در این برهه زمانی کدوم رو انتخاب کنم؟تجربه کار با اندروید(Android) و فلاتر(Flutter) :من بیش از ۴ سال سابقه‌ی توسعه اندروید رو دارم و کمتر از یک‌ساله که فلاتر رو شروع کردم.توسعه اندروید رو با جاوا شروع کردم و ۲ ساله که اندروید رو با Kotlin توسعه ‌میدم.تا قبل از آشنایی با Flutter شدیدا مخالف پلتفرم‌های Cross platform بودم (دلیل :‌ دیدن خروجی‌های تجاری نه‌چندان مطلوبی که از پلتفرم‌هایی مثل Ionic و Xamarin ).با توصیه‌ی یکی از دوستانم فلاتر رو شروع کردم، پس از چند روز عاشقش شدم (می‌شید) چرا؟ چون خیلی چیزها رو تو دل خودش داره (مثل ActionBarها، انیمیشن‌ها و ...) مسائلی که پیاده‌ سازیش تو Android و  iOS ساعت‌ها زمان ببره رو با Flutter کمتر از چند دقیقه‌ می‌شه پیاده سازی کرد.اپلیکیشن The History of Everything توسعه‌داده شده با Flutterدانلود نسخه اندروید دانلود نسخه iOSپس از پیاده‌سازی چندتا اپ تستی، مطالعه عمیق‌تر فلاتر و عضو بودن در یک تیم توسعه اپلیکیشن تجاری به این نتیجه رسیدم که واقعا فلاتر به اندازه کافی قدرتمنده و می‌تونه توی اکثر پروژه‌های تجاری انتخاب بهتری باشه.چرا فلاتر رو برای توسعه انتخاب کنم‌؟اصلی‌ترین برگه برنده‌ی فلاتر و سایر Cross platformها اینکه با یک Base Code (یک بار برنامه‌نویسی کردن) می‌تونید دو خروجی برای دو سیستم‌عامل اندروید و iOS داشته باشید.رقیب اصلی Flutter یعنی React native امروزه توسعه‌دهندگان زیادی رو به خودش جذب کرده و بازار کار مطلوبی در ایران و خارج از ایران داره. فلاتر در خیلی از مسائل فنی برتری محسوسی نسبت به ری‌اکت نیتیو از خودش نشون داده که می‌تونید اینجا در این باره مطالعه کنید.اگر قصد توسعه ایده‌های خودتون رو دارید و خدماتی که می‌خواید تو اون اپ ارائه بدید زیاد از پیچیدگی نرم‌افزاری بالایی برخوردار نیست (مثل نقشه، ارتباط اپ با سخت‌افزار)، فلاتر انتخاب درست‌تری به نظر میاد چون می‌تونید به تنهایی (و یا تیمی) در سریع‌ترین زمان نسخه خروجی به کاربراتون ارائه بدید(یکی از اصل‌های اثبات شده‌ی اعتبارسنجی ایده، اینکه در سریع‌ترین زمان و با مینیمال‌ترین امکانات اولین نسخه رو ارائه بدید که بازخورد جامعه هدف‌تون رو ببینید و نسبت به تحلیل اون بازخورد پیش برید).چرا Native (اندروید یا iOS) رو برای توسعه انتخاب کنم؟اصلی‌ترین برگه برنده‌ی توسعه‌ی Native انتشار اپلیکیشن‌هایی با نهایت Performance و همچنین دسترسی به تمامی امکانات سیستم‌عامل و ساختن نرم‌افزارهایی با پیچیدگی بالا می‌باشد.از دیگر نکات مثبت این حوزه می‌‌شه به جامعه‌ی توسعه‌ی قوی اشاره کرد که باعث شده بسیاری از ابزارها و کتاب‌خانه‌هایی توسط اعضای این جامعه توسعه داده شود، که فرآیند توسعه رو راحت‌تر و سریع‌تر می‌کنه.امروزه یکی از معیارهای غیرفنی توسعه‌دهندگان برای عدم انتخاب Flutter (ویا دیگر Cross platform ها) نبود (کم بودن) موقعیت‌های شغلی‌ مناسب است.در این برهه زمانی کدوم رو انتخاب کنم؟دلیلی که باعث شد این نوشته رو با شما به اشتراک بذارم همین سوال بود که هفته‌ها منو درگیر خودش کرده بود.برای من و یا افرادی مثل من که سال‌هاس توسعه‌دهنده‌ی Native هستند اومدن و رفتن (از بین رفتن) پلتفرم‌های جدید Cross platform با کلی تعریف و تمجید چیز جدیدی نیست به همین دلیل ،توسعه‌دهندگان Native سخت می‌تونن به طور کامل به این پلتفرم‌ها تغییر حرفه‌ بدن.برای من و یا افرادی مثل من که هدف حرفه‌ای‌شون در شرکت‌های بزرگ کار کردنه انتخاب فلاتر در این برهه زمانی، انتخاب ریسکی به نظر میاد، ریسکی که می‌تونه فوق‌العاده خوب یا بد، سرانجام داشته باشه.چراکه فلاتر بسیار قوی تا به امروز نشون داده و پیش‌بینی‌های مثبتی در مورد آینده این پلتفرم به‌گوش می‌رسه  که اگر این پیش‌بینی‌ها درست از آب دربیاد به دلیل اینکه توسعه‌دهنده‌ی ارشد فلاتر بسیار کمه، توسعه‌دهنده‌ی ارشد(و یا نیمه ارشد) فلاتر به راحتی و با دستمزد بالا می‌تونه در شرکت‌های بزرگ کار کنه.ولی از اونجایی که از آینده خبر نداریم و Cross platform‌ها سابقه خوبی ندارن، احتمال Fail شدن و یا عدم استقبال زیاد از فلاتر دور از انتظار نیست.نتیجه شخصیبا این همه تفاسیر انتخاب واسه خودم واقعا سخت بود ولی سعی کردم بهترین انتخاب با توجه به تحقیقاتی که کردم انجام بدم.من تصمیم گرفتم حداقل تا یک‌سال آینده توسعه Native اندروید رو هدف قرار بدم و سعی کنم خودم رو حرفه‌ای تر، به‌روز تر نگه دارم چرا که فعلا در ایران (و حتی در خارج از ایران) موقعیت شغلی Native بیشتر  و ادامه این تخصص انتخاب امن تریه.ولی قطعا توسعه‌ی فلاتر رو نادیده نمی‌گیرم و اخبارشو دنبال می‌کنم تا زمانی که خودشو ثابت کنه اون موقعه‌س که تصمیم می‌گیرم که به فلاتر تغییر حرفه بدم یا نه.نوشته بعدی‌ : در نوشته بعدی به لیستی از تخصص‌هایی که یک برنامه‌‌نویس ارشد Native اندروید در 2019 باید بلد باشه اشاره می‌کنم و سعی می‌کنم در حد توانم هر یک از آیتم‌های اون لیست رو اینجا در ویرگول باهاتون به اشتراک بذارم.لطفا نظراتتون رو با من در زیر این پست به اشتراک بذارید و بهم بگید تا چه حد با نظر و تحلیل بنده موافقید و اگه مطلبی می‌تونید به این نوشته اضافه کنید خوش‌حال می‌شم به اشتراک بذارید.</description>
                <category>Sobhan Moradi</category>
                <author>Sobhan Moradi</author>
                <pubDate>Wed, 14 Aug 2019 09:03:30 +0430</pubDate>
            </item>
                    <item>
                <title>سلام دنیا، سلام ویرگول</title>
                <link>https://virgool.io/@sobimor/%D8%B3%D9%84%D8%A7%D9%85-%D8%AF%D9%86%DB%8C%D8%A7-%D8%B3%D9%84%D8%A7%D9%85-%D9%88%DB%8C%D8%B1%DA%AF%D9%88%D9%84-vfr9ufkibqyw</link>
                <description>فک کنم چند ماهی می‌شه که در تلاشم اولین نوشته‌مو در ویرگول منتشر کنم. بین چنتا دو راهی مهم تو بحث فنی گیر کردم، و انتخاب هر یک از این راه‌ها موضوع نوشته‌های بعدیم رو مشخص می‌کنه به همین دلیل تا به الان نوشتن اولین پستم رو به تعویق انداختم(به قول کتاب &quot;هنر خوب زندگی کردن&quot; ما انسان ها (به اشتباه) همواره به دنبال یک تنظیم اولیه قوی هستیم).الانم از این دو راهی‌ها نجات پیدا نکردم، ولی امید دارم به زودی بهترین انتخاب رو انجام بدم و دانش اندکی رو که دارم و یا مطالب جدیدی که یاد می‌گیرم رو اینجا به اشتراک بذارم.با توجه به تخصصم اکثر نوشته‌های بعدی من در حوزه توسعه نرم‌افزارهای موبایل ‌خواهد بود.</description>
                <category>Sobhan Moradi</category>
                <author>Sobhan Moradi</author>
                <pubDate>Tue, 06 Aug 2019 00:29:32 +0430</pubDate>
            </item>
            </channel>
</rss>