morteza.ghorba

دوراهی های پیش روی یک دولوپر !

morteza.ghorba

این محتوا بدون نظارت تیم سکان آکادمی تولید شده و صرفاً نظرات شخصی morteza.ghorba می‌باشد.

با عرض سلام و خسته نباشید و تبریک بابت پیروزی مقتدرانه ی تیم ملیمون ! 

خیلی سریع برم سر اصل مطلب ، الان فریمورک. ها و IDE ها و زبان های برنامه نویسی و ... با سرعتی اپدیت و آپگرید میشن که دیگه نمیشه واقعا یکیش رو بصورت قطعی انتخاب کرد . مثلا چندی پیش تصمیم گرفتم سوئیفت رو بعنوان انتخاب نهایی و سرمنزل کارم انتخاب کنم و دردسر های زیادی هم برای تهیه ابزارالاتش کردم ! طوری که برای اجرای بهتر xcode روی vmware پونصد تومن پول هارد اس اس دی جدید دادم . ( کسی که هارد اس اس دی نداره زندگیشو باخته )

ولی خب طی این ماه react native بشدت انگیزمو کم کرد و الان فکر میکنم یادگیری اون بهتر از یادگیری یک

زبان منحصرا یک پلتفرمی native   ( منظورم سوئیفت ) باشه . مثل همون داستان دوتا صف بانک که هرکدومشو

انتخاب میکنی اون یکی بهتر بنظر میرسه . این اتفاق زیاد رخ میده مثل کسی که تازه جاوا رو شروع کرده و اندکی بعد کاتلین میاد بیرون و دلشو آب میکنه ! بنظرم این دوراهی ها توی تکنولوژی خیلی هم زیاده و انتخاب قطعی کاری بس دشواره و نیازمند راهنمایی گرفتن از شما اساتید با تجربه و بزرگوار . 

توصیه ی شما برای تو دوراهی نموندن و انتخاب بهترین پلتفرم برای توسعه چیه ؟ 

ایدهٔ خود را در سکان‌پلاس بنویسید!

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
کاربر میهمان
وحیدمن یک کاربر مهمان هستم
۱۳۹۷/۱۲/۱۳
به نظر من وقت انسان بسیار با ارزشه . کی 4 سال پیش فکرشو میکرد react native بتونه خروجی مانند native بده ؟ اگر کسی برای وقت خودش اهمیت قائله و نمیخواد app سیستمی یا بازی بسازه به نظر من بهتره که با react native کار کنه.
من cordova را هم کار کردم ولی قابل مقایسه نیست . از نظر کارایی react native مصرف حافظه بیشتری نسبت به native داره تقریبا 1 برابر بیشتر اما این موضوع در انواع گوشی ها اصلا تفاوتی بین برنامه های اصلی android با react native ایجاد نمیکنه
محمد حیدری
محمد حیدریعلاقه مند به سیستم های پایگاه داده
۱۳۹۷/۱۱/۲۰
قطعا تخصص تو یه فیلد خاص ارزش زیادی برای شخص به ارمغان میاره اما تو این دور و زمونه تو اگهی های شغلی میبینیم فقط تخصص کافی نیست، و باید تو چند زمینه کار کرده باشیم، پس بنظرم موازات با رعایت تعادل مناسب هست اما اینکه تخصص فدای جامعیت بشه بنظرم اشتباه هست
امیررضا اقتداری
امیررضا اقتداریدولوپر ios هستم، برنامه‌نویسی و گرافیک رو بسیار دوست دارم.
۱۳۹۷/۰۳/۲۹
با سلام
در کنار اینکه با نظرات دوستان به طور کلی موافقم، اگر من جای شما بودم و می‌خواستم یه زبان جدید رو در یک اکوسیستم جدید مثل Apple یاد بگیرم قطعا زبان نیتیو اون اکوسیستم یعنی Swift رو انتخاب می‌کردم (البته این دقیقا همون کاریه که الان دارم می‌کنم). من فکر می‌کنم این کار دید عمیق‌تر و بنیادی‌تری رو نسبت به اون اکوسیستم میده.
ضمنا کراس پلتفرم‌ها مستعد داشتن دو تا ایراد هستند که شخصا من رو از یادگیری اونها به عنوان یک زبان اصلی منصرف میکنه. اول اینکه اونها اقلب از نیتیوها یک یا چند قدم عقب‌تر هستن و دوم اینکه ميتونند مشکلات پرفرمنس داشته باشند.
ممکنه در جواب بگید React Native هیچکدام از این ایرادها رو نداره. هرچند که تصورش برام سخته اما هرچقدر هم که خوب باشه بازم یه Native واقعی نیست.

موفق باشید.
Danyal H.D
Danyal H.Dعلاقه مند به برنامه نویسی و iot
۱۳۹۷/۰۳/۲۷
سلام.
این اشتباه شمارو دقیقا من هم انجام دادم و دوسال فقط بین زبان های مختلف سویچ کردم و نهایتا هیچ کدومشون رو بلد نشدم. حالا که به گذشته نگاه میکنم میبینیم اگه حتی یکی از اونها رو هم ادامه میدادم الان خیلی جلو بودم چون هم برنامه نویسی یاد گرفته بودم و هم اینکه اگه میخواستیم به زبان دیگه ای کوچ کنم کارم راحت تر بود.به شما هم پیشنهاد میکنم یک زبان رو انتخاب کنید و همون رو ادامه بدید اید وسط های راه فکر کنید بقیه از شما جلو افتادن اما شما به تلاشتون ادامه بدید.چه میدونید شاید مثل مدافع مراکش تو واپسین لحظات یکی یکاری بکنه و ورق عوض بشه.
بهزاد مرادی
بهزاد مرادیمدرس، کپی‌رایتر و دولوپر
۱۳۹۷/۰۳/۲۶
سلام
مطمئناً علامت ! که پس از گزارهٔ «تبریک بابت پیروزی مقتدرانه ی تیم ملیمون» خودش جای بسی تأمل دارد 😉
با اجازتون از چند بُعد مختلف آنچه نوشته‌اید را بررسی می‌کنم (که مسلماً نظری شخصی بنده هست و می‌تواند ۱۰۰٪ اشتباه باشد!)
پیش از هر چیز اینکه فرمودید فریمورک‌ها، آی‌دی‌ایی‌ها و زبان‌های مختلف عرضه می‌شوند و نمی‌شود یکی از آن‌ها را انتخاب کرد به نظرم بهتر است که این سه مقوله را از یکدیگر جدا کرد و دلایلش را هم در ادامه عرض خواهم کرد:
مسلماً اهمیت که انتخاب یک زبان برنامه‌نویسی دارد به مراتب مهم‌تر از انتخاب یک فریمورک دارد چرا که فریمورک به نوعی زیرشاخهٔ آن زبان محسوب می‌شود. همین قانون در مورد IDE هم صادق است به طوری که اهمیت انتخاب یک IDE به مراتب از انتخاب یک فریمورک پایین‌تر است که برای روشن‌تر شدن این مسئله کمی بیشتر در ادامه توضیح خواهم داد.
یک زبان برنامه‌نویسی مثل کشوری است که برای زندگی انتخاب می‌کنیم؛ به نوعی یک اکوسیستم است، یک فرهنگ است، یک زیرساخت است که تعیین می‌کند کیفیت زندگی ما به چه شکل باشد. انتخاب فریمورک هم مثل انتخاب یکی از شهرهای آن کشور است. درست است که انتخاب یک شهر حائز اهمیت می‌باشد، اما اهمیت آن به مراتب کمتر از پروسهٔ انتخاب کشور برای زندگی است و مادامی که ما کشوری را انتخاب می‌کنیم،‌ گزینه‌های ما برای انتخاب شهرها محدود به همان کشور می‌شوند. انتخاب یک IDE هم همچون انتخاب یک خانه در یک شهر هست. خانه محل آرامش است و خیلی مهم اما آن‌قدر که کشور و پس از آن شهر مهم هستند حائز اهمیت نیست به طوری که خیلی راحت وقتی که مثلاً با اکلیپس ارتباط برقرار نمی‌کنیم و سوئیچ می‌کنیم به اتم، خیلی راحت هم می‌توان خانهٔ خود و محلهٔ خود را در یک شهر عوض کنیم.
با در نظر گرفته آنچه در بالا عرض کردم، پس به نظرم اول از همه باید بسنجیم ببینیم که در چه اکوسیستمی دوست داریم کد بزنیم:
- وب
- موبایل
- بلاکچین
- اینترنت اشیاء
- هوش مصنوعی
- گیم
- سیستم‌های اینترپرایز بانکی
- و ...
وقتی که این حوزه مشخص شد، باید رفت و دید چه زبانی در آن حوزه بیش از سایرین حرف برای گفتن دارد. مثلاً اگر می‌خواهیم به معنای واقعی کلمه دولوپر گیم شویم، گزینه‌ای جز ++C نداریم و یا مثلاً برای سیستم‌های اینترپرایز بانکی Java بی‌رقیب است.
پس تا اینجا کشور محل زندگی را انتخاب کردیم و حال می‌رسیم سر انتخاب شهر محل سکونت (فریمورک). باتوجه به اینکه در مورد فریمورک‌های زبان PHP فقط تجربه دارم، از همین زبان مثال می‌زنم.
فرض کنیم که کشور محل سکونت (زبان برنامه‌نویسی) را انتخاب کردیم که PHP است. برای انتخاب فریمورک‌، گزینه‌های زیادی روبه‌روی ماست که از آن جمله می‌توان به سیمفونی، کیک، لاراول،‌ یی و ... اشاره کرد. وقتی که ما در انتخاب زبان بدون شک و تردید پیش رفته باشیم، انتخاب فریمورک همچون انتخاب شهر است. مثلاً اگر از شهر تهران خوشمان نیاید، خیلی راحت می‌توانیم بریم مثلا به شیراز. به همین منوال، اگر مثلا پس از انتخاب زبان فریمورک سیمفونی را انتخاب کرده باشید اما پس از مدتی ببینیم که لاراوال Trend شده است، خیلی راحت می‌شود نقل مکان کرد 😉
گفتم که انتخاب IDE که دیگر اصلا قابل‌مقایسه با انتخاب زبان و فریمورک نیست به طوری که مثل انتخاب یک محله یا یک خانه است.
مدتی در یک محله زندگی می‌کنید و اگر از همسایگان خانه (کامیونیتی اون نرم‌افزار)، محیط خانه (رابط کاربری)، امکانات محله (پلاگین‌ها) و ... راضی بودید که ادامه می‌دهید و در غیر این صورت هم ظرف نیم ساعت یک نرم‌افزار دیگر را جایگزین خواهید کرد.
در گزارهٔ «انتخاب میکنی اون یکی بهتر بنظر میرسه» گفتید که 👈بهترین👉 که این صفت کاملاً نسبی است و از دید آدم‌های مختلف تفاسیر متفاوتی خواهد شد؛‌ لذا نمی‌شود گفت یک زبان بهترین است و یک زبان بدترین، یک فریمورک بهترین است و دیگری مزخرف است چرا که اگر مزخرف بود سال‌های پیش قبل از اینکه نامش به گوش ما بخورد از بازار محو شده بود پس اگر نشده،‌ حتماً چیزهای ارزشمندی داشته که یک عده دارن آن را مورد استفاده قرار می‌دهند.
به عنوان مقال آخر، به نظرم کسانی که با Trendهای بازار نظرشون دستخوش تغییر می‌شود، مثل این است که بخواهند ازدواج کنند و یکسری معیار در ذهن دارند اما پس از نشستن پای صحبت‌های پدربزرگ، یهو معیارهای ایشان تغییر می‌کند و یا پس از نشستن پای صحبت های معلم مدرسه، معیارهای جدید جایگزین می‌گردد و این خیلی خطرناک هست.
وقتی که آدم با کلی R & D به یکسری ارزش می‌رسد، دیگر باید تا حد ممکن به آن‌ها پایبند بود مگر اینکه خلافش ثابت شود و آن ارزشها را در تصمیم‌گیری‌های خود دخیل سازد که پیش از این در مقاله‌‌ای تحت عنوان «چگونه می‌توانیم با خلق یکسری ارزش‌ها و پایبندی به آن‌ها، فرایند تصمیم‌گیری خود را تسهیل کنیم؟» بیشتر به این مسئله پرداختم که از لینک زیر در دسترس است:
https://sokanacademy.com/blog/5896/post

ارادت
امیدوارم که دیدگاهم مفید واقع شده باشد
پوزش بابت تایپوها