معرفی React Native: آسان ترین و بهترین راه برنامه نویسی موبایل و وب؟

الان حدود ۱۵ ساله که برنامه نویسی تحت وب می کنم. هرروز سری به Smashing Magazine و TechCrunch و سایت های دیگه از این دست می زنم و راجع به استارتاپ های جدید و کمپانی ها و اشخاص موفق مرتبط با IT تحقیق می کنم. با این مطالعات میشه خیلی زود فهمید که صنعت IT با سرعتی باورنکردنی در حال پیشرفت و تحوله. اگر می خوای در این صنعت بمونی باید هرروز مطالعه داشته باشی و مفاهیم جدید یاد بگیری. شاید یکی از علل علاقه بسیار من به این صنعت همینه. هیچوقت یکنواخت نمیشه!

تا اینجاش رو تقریبا همه می دونن. اما هنر یک فرد موفق در این صنعت چیه؟ خیلیا فکر می کنن «مطالعه و یادگیری بیشتر». اما این جواب اشتباهه. فرصت یادگیری همه محدوده و اگر به زندگی افراد موفق دقت کنید می بینید که اتفاقا وقت آزاد اونها برای مطالعه کمتره! پس چطور موفق میشن و موفق می مونن؟ جواب درست اینه که این افراد به درستی انتخاب می کنن که «راجع به چی» مطالعه کنن. هر چقدر از اهمیت این انتخاب بگم کمه! بعنوان یک برنامه نویس، موفقیت شما خیلی به زبان ها و فریم ورک هایی که برای یادگیری انتخاب می کنید بستگی داره.

یکی از آرزوهای برنامه نویسان اینه که بتونن با یک زبان برنامه نویسی برنامه هایی بنویسن که روی دستگاه های مختلف (کامپیوتر، موبایل، تبلت، تلویزیون هوشمند، ساعت مچی هوشمند، …) قابل اجرا باشه. اینطوری بجای اینکه بخوان وقتشون رو صرف یادگیری ۱۰ زبان کنن که هرکدوم هزارجور تکنیک مختص خودش رو داره، وقتشون صرف یادگیری یک زبان مادر می کنن که در همه دستگاه ها قابل اجراست.

تابحال خیلی تلاش ها در این زمینه شده (فلش و تا حدی جاوا در این زمینه ناموفق بودن). از فریم ورک های محبوبی که امروزه به شما امکان برنامه نویسی وب و موبایل اپلیکیشن رو میدن میشه اینها رو نام برد: PhoneGap، Ionic، Appcelerator Titanium، Xamarin

PhoneGap و Ionic خوبیشون اینه که توشون از زبان های وب (HTML، CSS، JS) استفاده می کنید. پس نیازی به یادگیری زبان جدید ندارید (مثل اینه که وب اپلیکیشنتون رو در مرورگر موبایل باز می کنن، اما Full-screen). بدیشون اما اینه که Performanceشون اصلا خوب نیست. اگر اپلیکیشنی که با اینها می سازید «خیلی ساده» نباشه، از سرعت پایین و پریدن های تصویر و انیمیشن های لَگ دار خیلی راحت میشه فهمید که اپلیکیشن Native نیست. به این اپلیکیشن ها Hybrid میگن، و به اپلیکیشن هایی که با زبان مخصوص سیستم عامل نوشته شده باشن Native میگن. (زبان مخصوص دستگاه های کمپانی اپل Objective-C و Swift هست و زبان مخصوص اندروید جاوا.)

Appcelerator Titanium و Xamarin می تونن Performance بهتری ایجاد کنن. بخاطر اینکه از یک زبان برنامه نویسی خاص (جاوااسکریپت و C#) المان های Native رو خروجی می گیرن. اما هردو پولی هستن. همین باعث میشه که طرفداران و منابعشون کم بشه.

حالا می رسیم به این جوجه کوچکی که موضوع این نوشته ست! این جوجه کوچک React Native نام داره.

بذارید یکم برم به عقب. فیس بوک ابتدای سال ۲۰۱۵ اولین نسخه stable یک کتابخانه جاوااسکریپت open-source رو منتشر کرد برای توسعه رابط کاربری (user interface) وب اپلیکیشن ها. اسم این کتابخانه React (یا ReactJS) بود. این کتابخانه با ساختار بسیار ساده و سرعت بسیار بالایی که داشت خیلی سریع مورد توجه قرار گرفت. طوری که با وجود اینکه مدت کوتاهی از اومدنش گذشته، بجز فیس بوک کمپانی هایی از قبیل یاهو، Airbnb و Netflix هم دارن ازش استفاده می کنن.

react-native

اواخر مارچ ۲۰۱۵ (دو و نیم ماه پیش) یک فریم ورک جدید از فیس بوک منتشر شد. یک فریم ورک که به شما اجازه میده با استفاده از زبان جاوااسکریپت (و تنها جاوااسکریپت!) و کتابخانه React اپلیکیشن موبایل بسازید! فعلا فقط برای iOS ولی بزودی برای iOS و Android. اسم این فریم ورک React Native ه!

همونطور که از اسمش پیداست، مزیت بزرگش اینه که خروجیش تشکیل شده از المان های Native سیستم عامله. در نتیجه Performance خوبی داره. سیستم کاریش خیلی شباهت ها به Appcelerator Titanium داره. من قبلا اون رو کمی یاد گرفتم. اما وقتی مطالعه درباره React و React Native رو شروع کردم مجذوب سادگی و نظمشون شدم! مجانی و open-source بودن و پشتیبانی شدن توسط فیسبوک رو هم که به اینها اضافه کنید می فهمید که چرا در این مدت کوتاه انقدر پرطرفدار شدن.

من یک اپلیکیشن ساده برای iOS با استفاده از React Native ظرف چند روز ساختم. همه چیز ساده و بی دردسر پیش رفت و Performance اپلیکیشن هیچ فرقی با Native نداشت. الان هم مشغول کار روی دو اپلیکیشن دیگه هستم که تا بحال خیلی خوب پیش رفته.

react-native-conf

یکی از جالب ترین کاربرد های React اینه که با استفاده از Node میشه برای برنامه نویسی سمت سرور و نرم افزار تحت سیستم عامل کامپیوتر هم ازش استفاده کرد. یعنی اگر یک موبایل اپ و وب اپ با یک اپ سمت سرور می سازید، می تونید توی همش از زبان جاوااسکریپت استفاده کنید! اولش که این رو می شنوید شاید خیلی به نظرتون نیاد. اما بیشتر بهش فکر کنید مجذوب ایده ش میشید! همین باعث شده که خیلی ها پیش بینی کنن که جاوااسکریپت در آینده دنیای IT رو تسخیر می کنه (البته قبلا با دیدن Node هم همین رو می گفتن، اما حالا با ورود React و React Native به میدان احتمالش بیشتر شده).

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

پاسخ من JavaScript و ReactJS و React Native هست. اما یک علامت سوال هم در انتهای تیتر این نوشته گذاشتم، چون هنوز یک رخداد بسیار مهم باقی مونده: انتشار React Native برای اندروید. من فکر می کنم اگر فیس بوک اون قدم رو هم درست برداره و مثل قبل به بروزرسانی مرتب این فریم ورک ادامه بده محبوبیت React Native به سرعت چند برابر میشه و ۳ سال آینده حداقل ‍۱۰ درصد اپلیکیشن های جدید موبایل با React Native ساخته میشن.

نظر شما چیه؟

منابع خوب برای یادگیری

اردلان نقشینه

من اردلان یک توسعه دهنده وب و مدیر تکنولوژی هستم که از ۸ سالگی وارد عرصه طراحی و توسعه وب شدم و تابحال بیش از یکصد وب سایت و نرم افزار تحت وب برای خودم یا برای مشتریانی از جمله شرکت های Fortune 500 ساختم. در سال ۱۳۹۲ بعد از دریافت مدرک کارشناسیم از دانشگاه صنعتی شریف تهران به شهر کلگری کانادا مهاجرت کردم. این روزها در کنار برنامه نویسی و مدیریت روی مهارت های اقتصادی و کارآفرینیم هم کار می کنم.

نوشته های مرتبط

۶۲ نظر

  1. نیما گفت:

    چند وقتی دنبال همچین چیزی میگشتم که لازم نباشه خیلی با کتابخانه های سمت زبان های مورد نظر موبایل سرکار داشت ، خیلی مطلب خوبی بود .
    تا اینجا که عالی است ، فقط تنها مشکل همون اندروید هستش که به زودی اضافه کنه عالی میشه 🙂

  2. محمد رضا گفت:

    سلام اردلان جان.
    من ۱۶سالمه و علاقه شدیدی به برنامه نویسی دارم..
    میخواستم از شما که در این زمینه فرد موفقی هستید بپرسم برای شروع کدوم زبان برنامه نویسی بهتره و بعد از حرفه ای شدن بازار کار بهتری داره؟

  3. مریم گفت:

    سلام عالی بود. خیلی وقته به وبلاگ شما سر نزدم.میشه بیشتر درباره محیط کار برنامه نویسی وب اونجا بنویسید.

  4. امیر گفت:

    با اینکه هنوز پست ات رو نخوندم ولی باید بگم هیچ وقت این اتفاق میسر نمیشه. از طرفی فریم ورک هایی که خروجی برای پلتفرم های مختلف دارن هیچ وقت کیفیت خروجی که native داره رو ندارن و از طرفی هم هیچوقت کمپانی های تجاری حاضر نمیشن که یک تکنولوژی توسعه cross platform تشکیل بدن چون دیگه رقابت بینشون مفهومی نخواهد داشت! این react هم تازه اومده چند وقت دیگه که ایراداتش پیدا شد بادش میخوابه …
    تنها کاری که از ما برمیاد اینه که یک پلتفرم درست و آینده دار رو انتخاب کنیم و تمرکزمون رو روش بزاریم. قرار نیست اپلیکیشنی که مینویسیم هم روی اندروید اجرا بشه و هم موشک ناسا. هر کاری رو باید به کاردانش سپرد.

    • فکر می کنم حدست درباره پست اشتباه بوده. باید می خوندیش اول.
      من نگفتم جای native رو می گیره. تیم پشتشم همچین ادعایی نداره.
      اما برای درصد زیادی از اپ ها می تونه زمان و هزینه توسعه رو به شدت پایین بیاره و خروجی تقریبا یکسان بده.
      ضمنا توی پست اشاره کردم که آینده react native هم هنوز معلوم نیست و به نسخه اندرویدش بستگی داره.

  5. محمد گفت:

    نسخه اندرویدش اومد یا نه؟

  6. علیرضا گفت:

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

    • NativeScript سعی کرد که استفاده از کد یکسان برای همه پلتفرم هارو جا بندازه. React Native از اول گفته که هدفش این نیست که کد یکسان رو همه جا استفاده کنید. هدفش اینه که ساختار و زبان یکسان (جاوااسکریپت) رو همه جا استفاده کنید. من این شیوه رو خیلی بیشتر می پسندم.
      بعلاوه حمایت و جامعه ای که الان دور React Native هست اصلا قابل مقایسه نیست با NativeScript. (مدرک ساده ش هم ۵۸۰۰ ستاره NativeScript در Github در مقایسه با ۲۷۰۰۰ ستاره React Native !)

  7. كيانا گفت:

    سلام ؛ اگه بخوام برنامه نویسی رو شروع کنم در حالی که هیچ تجربه ی قبلی ندارم از کجا می تونم شروع کنم؟ میشه یه راهنمایی هم در مورد مدل لپ تاپ هایی که برای برنامه نویسی کار باهاشون راحت تره بهم بکنین؟ میشه لطفاً جواب بدین.

    • به تجربه من معمولا کسانی که با خوندن یه کتاب فارسی HTML و CSS برنامه نویسی رو شروع می کنن (گرچه اینها برنامه نویسی واقعی نیست) بیشتر علاقمند میشن و ادامه میدن.
      لپتاپ خیلی فرق نمی کنه. اما یه چیزی که من توصیه می کنم اینه که یه مانیتور ۲۳ یا ۲۷ اینچ بگیرید و به لپتاپ وصل کنید. مانیتور بزرگ تو برنامه نویسی خیلی کار آدم رو راحت می کنه. چون معمولا چند تا پنجره باید همزمان باز داشته باشید. من خودم ۲ تا مانیتور به لپتاپ وصل می کنم با یه موس و کیبورد.

  8. ارزو گفت:

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

    • چه جالب! و چه مادر خوبی!
      به نظر من اگه در این سن کلاس بفرستیدش ممکنه زده بشه. چون کلاس ها برای این سن طراحی نشدن.
      می تونید مثلا یک کتاب آموزشی خوب HTML5 و CSS گیر بیارید برای شروع. سوال هم اگه داشت می تونه از من بپرسه.
      منابع آنلاین خوب بسیاره و اگر یک فرد باتجربه راهنماییش کنه خودش می تونه در این زمینه پیشرفت کنه.

  9. سپهر1101 گفت:

    درود بر شما ، ممنون بابت تسهیم مطالب با ما 🙂
    صرفا میخوام بگم در حال حاضر xamarin روی تمام نسخه های visual studio از جمله community version که رایگان هست (بماند که اینجا تقریبا همه نرم افزار ها رایگانه ( میتونه به عنوان یه تفاوت بین ایران و کانادا اضافه شه)) 🙂

  10. فرهاد گفت:

    سلام
    آی گفتی عین واقعیه ؛ منم میخواستم یه زبانی رو یادبگیریم که برای هر دیواسی کد بزنم ! اما یه همچین زبانی پیدا نکردم ! البته بودنا مثل جاوا ، پایتون ، سی شارپ و لی هر کردوم تو یه بخشی قوی هستن و کامل کامل همه حوزه ها رو پوشش نمیدن و هزینه ها رو بالا میبرن.
    الان داره هر روز یه زبان جدید میاد ! هرکی از جاش بلند میشه یه زبان جدید میسازه ! مام موندیم کدمو یاد بگیریم!
    Go & python و… که جزو زبان های جدید هستند!!!
    البته پایتون هم زبان قویه و امیدوارم به جناب پایتون جسارت نکرده باشم 😀
    خودم تحت وب جاواسکریپت و پی اچ پی رو بیشتر بلدم.
    ولی دوست دارم برای اندرویدم برنامه بسازم ولی جاوا یکم سخت و زمان بره یادگیریش!

  11. سوران گفت:

    سلام
    آیا با React Natice میشه یک اپ موبایل کامل رو به صورت آفلاین نوشت و کارایی قابل قبولی داشته باشه؟ اپی که در نظر دارم یک اپ مثل YouCam Makeup به این آدرس:
    https://cafebazaar.ir/app/com.cyberlink.youcammakeup/?l=fa
    خیلی از کارهای همچین اپی رو با جاوا اسکریپت و canvas میشه انجام داد اما اگر بخوام با فون گپ درستش کنم اصلاً کاراییش جالب در نمیاد و خیلی خیلی کند میشه. آیا به نظر شما React Natice میتونه اپی در این حد رو اجرا کنه و کاراییش و سرعتش افت نکنه؟ ارزش داره من واسه React Natice وقت بگذارم؟
    ممنون میشم راهنماییم کنین. مخصوصاً اگه جواب رو به ایمیلم بفرستید که دیگه یک دنیا سپاسگزار میشم

  12. حامد گفت:

    سلام .من مطالب وبلاگ شما رو همواره دنبال میکنم خیلی جذبشون شدم امیدوارم همیشه و درهمه مراحل زندگی موفق باشید
    یک سوال که داشتم ازشما به عنوان یک برنامه نویس میتونید روشی رو بگید یا راه حلی پیش پام بزارید که چطوری میشه فلش رو در ویندوز موبایل یا IOS لود کرد یا به عبارتی نمایش داد اصلا میشه یا نمیشه اگر میشه چطوری

    ممنون

  13. سامان گفت:

    اردلان جان قبل از شروع یادگیری ReactJS و React Native باید Node رو یاد بگیریم که بتونیم سمت سرور هم اپ بنویسیم درسته ؟

    • نه Node از پیشنیاز های React نیست. همونطور که گفتی Node واسه برنامه نویسی سمت سروره و React سمت کلاینت. از هم جدان. ولی اگر می خوای سمت سرور رو هم یاد بگیری Node گزینه خوبیه برای اپی که front-endش با React ساخته شده.

  14. محسن گفت:

    سلام
    خیلی عالی بود
    باتشکر

  15. حامد گفت:

    سلام من خیلی مشتاق یادگیری شدم مخصوصا جاوا اسکریپت / تاحالا برنامه نویسی نکردم / من ویندوز نصب دارم و چزور میتونم از react native استفاده کنم هر کاری کردم فایل نصبی ئیدا نکردم یا راهنمایی؟

  16. علی سجادی گفت:

    با react native میشه برنامه های حرفه ای نوشت؟
    آخه شنیدم که مثلا برای اندروید، فقط با جاوا میشه برنامه حرفه ای نوشت.

  17. حسین گفت:

    سلام اردلان
    خواستم بدونم اگه برای ساخت اپلیکیشن های اندروید از زبان react-native بجای java استفاده کنم ، چه محدودیت هایی رو دارم
    آیا امکان استفاده از ابزارهای opencv و … وجود داره یا امکان نوشتن اپلیکیشنی برای کنترل ربات وجود داره؟

    کلا برنامه نویسی اندروید با react-native چه محدودیتهایی داره؟
    چه اپلیکیشنی نمیشه باهاش نوشت؟

    • اگر از Java استفاده کنی دستت بازه که از تمام قابلیت هایی که اندروید بهت اجازه استفاده ش رو میده استفاده کنی.
      اما اگر از react native استفاده کنی باید ببینی برای اون کاری که می خوای بکنی کتابخانه آماده ای هست که استفاده کنی یا خودت باید بسازیش. اگر خودت باید بسازیش باید ببینی با جاوااسکریپت میشه یا باید جاوا هم بنویسی.

  18. رسول گفت:

    سلام دوست گلم ، خیلی از خوندن مقالات شما تو وبلاگ زیباتون خوشحال شدم و اینکه من امروز اولین باره دارم با شما اشنا می شم و مقالاتتون رو می خونم و واقعا الان دارم ارزو می کنم کاش میشد با شما دوست صمصمی می بودم 😀 خیلی استفاده کردم از مقالاتتون و ممنونم

    رسول

  19. امیر گفت:

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

  20. امیر گفت:

    مثل الکترون

  21. نیما گفت:

    سلام آقای مهندس ، می خواستم سوال کنم که اگر بعد از یادگیری html و css و JavaScript ، اول مدتی رو صرف یادگیری Node.Js کنیم و بعد از اون به سمت React و React Native بریم بهتر نیست ؟؟ با سپاس

  22. میثم گفت:

    سلام اردلان عزیز. الان که بیش از ۲۰ ماه از نوشتن این مقالت میگذره هنوزم معتقدی React Native بهترین گزینه برای نوشتن اپ Hybrid ایه ؟

  23. سهیل گفت:

    سلام آقای اردلان
    من میخوام تازه برنامه نویسی رو شروع کنم و بین react native و xamarin دو دلم که برای کدوم وقت بزارم
    خواستم از تجربه شما استفاده کنم و نظر شمارو بدونم

  24. نیما گفت:

    سلام جناب نقشینه می خواستم بپرسم دقیقا چه زمانی باید سراغ Redux بریم ؟ اصلا این کتابخانه به درد چه نوع اپ هایی میخوره ؟؟بعضی ها یک جوری از Redux صحبت می کنند که انگار اگر ازش استفاده نکنیم می ریم جهنم !!؟ به نظر من که بجای ساده کردن برنامه بیشتر اون رو پیچیده می کنه !!! من الان مدتیه با React سروکله می زنم واقعا احساس خوشبختی می کنم و اصلا نیاز به استفاده از Redux رو درک نمی کنم !!! اشتباه می کنم ؟؟؟ با سپاس

    • سوال خیلی خوبیه نیما جان. آره بعضی ها React رو با Redux پیوند می زنن و میگن باید با هم استفاده شون کرد. در حالیکه برای خیلی اپ های ساده همون state management system داخلی React کافیه. من معمولا در سه حالت Redux استفاده می کنم:
      ۱. وقتی که بخوام اتوماتیک تمام Action هایی که رخ میدن رو بصورت event در سیستمی مثل Google Analytics ثبت کنم برای تحلیل رفتار کاربر.
      ۲. وقتی که اپ و گردش داده توش نسبتا پیچیده ست و debugging ش ممکنه سخت باشه. با Redux خیلی راحت میشه debugging.
      ۳. وقتی که بدون Redux باید شونصد تا callback function پاس بدم برای کامپوننت های خیلی پایین تر. این مورد و مورد ۲ معمولا با هم رخ میدن.

  25. حامد گفت:

    سلام. این مطلب یک مقایسه کامل هست بین ionic و React Native.
    لطفا بخونید و بفرمایید که چقدر با این مطلب موافقید.
    ممنونم
    https://www.codementor.io/fmcorz/react-native-vs-ionic-du1087rsw

    • مقایسه خوبی بود. همونطور که در نتیجه گیری نهایی میگه٬ با وجود اینجا Ionic مزایای خوبی مثل استفاده از تکنولوژی های آشنای وب داره٬ اپ هایی که باهاش ساخته میشن اصلا سرعت و پاسخگویی خوب اپ های React Native رو ندارن. واسه همین من معمولا انتخابم برمی گرده به اینکه آیا دارم این اپ رو برای مشتری می سازم؟ یا مثلا برای کارمندان شرکت خودم؟ اگر تجربه کاربری واسم مهمه قطعا RN رو انتخاب می کنم.

  26. مرتضی گفت:

    سلام . پست جالبی بود . من از ۱۳ سالگی کدنویسی رو شروع کردم با زبان های مختلفی کار کردم خروجی های قوی دادم بیرون علاوه بر وب تو سطح پایینم تسلط خوبی دارم . باید ب عنوان کسی که ۱۱ ساله شغلش اینه بگم همه اینها میان و میرن و اشتباهه وقت گذاشت.react و.. هرچقدر هم قوی باشن بازم برای خروجی های ساده خوبن و هیچ ادم عاقلی نمیاد پروژه های تجاری یا حرفه ای رو با این چیزا پیاده کنه . اینا برای شرکتای کوچولو خوبن که تو ۳ ۴ روز پروژه کارفرما رو تحویل بدن و اونم بنابر ظاهر زیبا با کلی تعریف استفاده کنه . من تمام قدرت خودمو مدیون زبان c هستم و همیشه c ب دادم رسیده و به هرکسی که تو کار برنامه نویسیه توصیه میکنم c یا c++ رو حرفه ای حرفه ای کار کنه در حد نوشتن یه os ساده .اون وقت یاد گرفتن چیزای جدید نهایتش ۲ هفته وقتشو میگیره . در مورد پلت فرم Node باید بگم برای طراح های عزیزیه که قدرت و دانش یادگیری بک اند رو نداشتن در نتیجه با node جلو میرن و مطمئن باشین غیر ممکنه که js بتونه چیزی رو تسخیر کنه چون تو سینتاکسش شدیدا مشکل داره معلوم نیس فانکشناله یا چی
    از طرفی node تو فایل های استاتیک خوب عمل نمیکنه
    هرکسی با Node کار کرده باشه اگه بهش بگین جهنم callback شدیدا موافقت میکنه و کم نیستن تعداد کسایی که با خوردن انگشتشون ب ی براکت مجبور شدن تا صبح تو جهنم های کال بکها چرخ بزنن.برای خروجی های ساده php js و… خوبن اما بهتره همونجا بمونن . مشکل scale اینا همچنان مثل ریلز پابرجاست و فکر نکنم هیچ کمپانی بزرگ و حرفه ای حاضر بشه از اینا بجای java ee ,erlang c++ استفاده کنه . راستی حتما با الکسیر یا راست هم کار کنید خوشتون میاد

    • با بعضی نظراتت موافقم ولی با بعضی چیزها بسیار مخالفم. مثلا callback hell خیلی وقته که با promise و اخیرا با async functions حل شده.
      ضمنا adoptionای که Node و JS در پلتفرم های مختلف داشتن رو هیچ زبان دیگه ای نداشته. ابزار و جامعه ای هم که دور جاوااسکریپت هست بسیار باعث رشدش شده و کارها رو سریعتر می کنه.
      کمپانی های بیشماری هم دارن توی پروژه هایی بسیار بزرگتر از متوسط از اینها استفاده می کنن و موفقن.
      برای برنامه نویسی frontend اگر از React یا هیچ فریم ورک دیگه ای استفاده نمی کنی از چی استفاده می کنی؟

  27. سمانه گفت:

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

  28. kaim گفت:

    سلام.
    میشه مقاله های بیشتری درباره react native بذارید؟
    چجوری app میشه توی react native تست کرد مثلا امولاتور داره یا نه؟

  29. محمد گفت:

    سلام نظر شما در مورد برنامه نویسی موبایل اندروید چیه ؟ منظورم از نظر کاریی توی کانادا است.

  30. علی گفت:

    واقعا ممنون.
    میشه درمورد راست چین کردن متن های داخل input و بقیه المان ها راهنماییم کنید.خیلی سرچ کردم ولی نتیجه ای نداشته.تنها گیرم همین مورده.

    ممنون 🙂

  31. علی گفت:

    بازم سلام
    کلا میشه یه آموزش ویدویی خوب معرفی کنید.راستی من اصلا با React کار نکردم ولی در حوضه HTML,CSS,JavaScrip,jQuery حرفه ای هستم و مستقیم رفتم سراغ RN ، مشکل خاصی که بوجود نمیاره ؟ 🙂

  32. محسن گفت:

    سلام
    اول تشکر میکنم بخاطر سایت بینظیرتون
    اقای اردلان یعنی الان میشه با این react native حتی سایت طاحی کرد؟

  33. مصطفی گفت:

    سلام آقا اردلان
    ممنون از مطلب خوبت
    اگر شما بخوای react و angular 5 رو مقایسه کنی برای کسی که تجربه HTML، CSS ، ASP.NET MVC و یه مقدار هم جاوااسکریپت رو داره و میخواد یه استارتاپ راه بندازه و قسمت front-end رو انجام بده یادگیری کدوم بهتره. نرم افزار نهایی خیلی بزرگ در حد enterprise نیست ولی یه نرم افزار خیلی کوچیک هم نیست.
    ممنونم