تغییر مسیر برنامه نویسی از PHP Backend به Mobile (Swift)

با سلام و احترام
من یه برنامه نویس PHP Backend هستم که البته فرانت اند هم کار کردم و اما اخیرا حس میکنم شاید وقت اینه که کلا مسیر برنامه نویسیم رو آهسته آهسته به سمت برنامه نویسی موبایل خصوصا Swift و iOS تغییر بدم.
دلایلی که به نظرم رسیده ایناست:

  • حقوق: با توجه به آگهی ها و نظرات چند تا برنامه نویس موبایل متوجه شدم میزان حقوق یه برنامه نویس بکند با سابقه مشابه یه برنامه نویس موبایل سوئیفت کمتره
  • گستردگی تکنولوژی ها: الان یه برنامه نویسی مثل من سالها وقت گذاشته روی انواع فریمورک php مثل لاراول و کدایگنایتر و سی ام اس هایی مثل وردپرس و جوملا و در بخش فرانت اند هم با طراحی ریسپانسیو و بوت استرپ و جی کوئری و گالپ و فریمورکی مثل انگولار کار کردم و مسائل مربوط به سئو و حتی برنامه نویسی موبایل هایبرید مثل ionic, nativescript and flutter هم انجام دادم و با لینوکس و ابزارهایی مثل داکر هم کار کردم و حتی یه مدت نود جی اس هم شروع کردم در صورتی که شاید اگر به جای این همه روی برنامه نویسی موبایل تمرکز کرده بودم بهتر بود.

البته از بین دو مورد بالا مورد دوم خیلی بیشتر برام مهم تره.

چالشی که اخیرا باهاش مواجهم اینه که باید به صورت حرفه ای تر با لینوکس و داکر و نود جی اس کار کنم که البته همه رو هم دوست دارم ادامه بدم اما وقتی میبینم یه برنامه نویسی مثل من این همه چیزهای مختلف باید یاد بگیره اما یه برنامه نویس موبایل دقیقا با همین سابقه من به جای یاد گرفتن این همه تکنولوژی نشستند چند تا چیز رو حرفه ای تر یاد گرفتند و تقریبا دو برابر هم حقوق میگیرند آدم انگیزه ش رو از دست میده و میگم آیا بهتر نیست به جای گرفتن این همه گستردگی بیام تمرکز کنم روی چند تا چیز ثابت و مشخص؟ :thinking:

ممنون میشم دوستان نظرشون رو بگند.

خب، php از زبونهای پرطرفداره. یعنی برنامه نویس براش زیاد هست. پس حقوقش کمه. از طرف دیگه، js لایبرری و فریمورک زیاد داره و کلا اکوسیستم شلوغی داره.
در این مورد حق با شماست. ولی مساله ربطی به «وب» نداره. مربوط به «PHP» میشه. برنامه نویسهای (مثلا) ruby حقوق خیلی بالاتری دریافت میکنن.

نمیتونم به صورت مقایسه‌ای بگم که بین php و android کدومشون موقعیت شغلی بهتری دارن ولی بین android و ios ، اندروید موقعیت شغلی بالاتری داره در عوض حقوقش پایینتره.
برای شروع برنامه نویسی موبایل میتونید با react native شروع کنید که js هست و نزدیک به چیزیه که تا الآن کار میکردید.

قطعا بهتره به جای تمرکز روی php و js برید به سراغ تکنولوژیهای بهتر.
این دو زبان، نه تنها «بد»‌ هستن. بلکه «اشتباه» هم هستن. یعنی تصمیمات اشتباهی توی طراحیشون گرفته شده و از طرف دیگه سبک برنامه نویسیشون اشتباهه.

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

اگر بخواییم اکثریت رو حساب کنیم بله گفته های شما در کشور ما تا حدودی صحیحه و شامل اکثریت میشه اما خب استثناهایی هم هستند که دستمزدشون حداقل چند برابره یک برنامه نویس فرضا ios هست .

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

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

وقتی یه چیزی مضخرفه، مضخرفه.
شاید کسی که php و js رو ساخته از من خفنتر باشه ولی مطمئنا از کسی که زبانهای دیگه رو ساختن بهتر نیست. به هر حال اگه سوادشو نداشت، نباید سراغ ساختن یه زبان برنامه نویسی میرفت، احتمالا به همین خاطره که من تا حالا زبان برنامه نویسی نساختم!

بله. Php هم احتمالا برای جای خودش مناسبه و فکر میکنم جایگاهش از روی اسمش مشخصه: Personal Home Page
اگه بخوام یه لندینگ پیج یا صفحه ی ریدایرکت درست کنم و نخوام دیمن ران کنم، احتمالا از php استفاده کنم وگرنه اخیرا ضربه مغزی نشدم.
با اسفنج باید ظرف شست، میخ نیاز به چکش داره. البته چکش هم اگه دست کسی باشه که ابزار دیگه ای نداره، همه ی مشکلات رو میخ میبینه.

صد البته شما راست میگید !!

شاید ؟ صد البته که شما خفنترید !!

با سلام خدمت دوستان
بابت تاخیر در پاسخ عذرخواهی میکنم.

بالاتر نوشتم که با native script برنامه نویسی موبایل رو شروع کردم و الان هم با flutter دارم کار میکنم و با برنامه نویسی هایبرید موبایل غریبه نیستم.

بله درسته برای همین میخوام به سمت iOS کوچ کنم. البته اخیرا خبرهایی میاد از اینکه سیستم عامل اندروید در آینده ممکن جاش رو به سیستم عامل دیگه ای بده و اینکه خود اندروید الان دو زبان داره یکی جاوا و یکی کاتلین و این مسائل باعث میشه iOS گزینه stable تری به نظر بیاد.

منظورتون از اشتباهه رو متوجه نمیشم؟ از چه لحاظی منظورتونه؟

حقوق خوب یک برنامه نویس موبایل با حقوق خوب یه وردپرس کار خیلی متفاوته خصوصا تو ایران. بحث اینکه بتونیم خودمون افزونه درست کنیم و بفروشیم رو باید در نظر نگیریم چون کار هرکسی نیست و در ضمن موبایل هم همینه اگه خودت پروژه بگیری قیمت پروژه های موبایل خیلی بیشتر از وردپرسه

اینکه با کاتلین هم میشه اپ اندروید ساخت، نشونه‌ی ناپایداری نیست. از طرف دیگه برای iosهم با objective-c میشه کد زد!
بگذریم.

مشکلات زیادی داره. قبلا زیاد درموردش بحث شده. مثلا این دو مطلب رو مطالعه کنید:


1 Like

objective-c دیگه منسوخ شده و اپل برای همین داره روی سوئیفت کار میکنه!
اینکه فقط یه سوئیفت باشه و هرروز خبر نمیاد که کلا اون سیستم عامل منسوخ بشه مثل الان که ممکن گوگل اندروید رو کلا با سیستم عامل دیگه ای جایگزین کنه !

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

جاوا برای اندروید منسوخ نمیشه چون کاتلین هم زیربناش جاواست. شما برای برنامه نویسی اندروید انتخابهای زیادی دارید. هر زبانی که خروجی نهاییش به java bytecode کامپایل بشه میتونید استفاده کنید.

هیجوقت همچین کاری نمیکنه. مگه دیوانست اکوسیستمی به این عظمت رو نابود کنه؟
حتی اگه سیستم عامل جدید بیاره و کلا اندروید رو برداره، چیز جدیدی که میاد صددرصد backward compatible خواهد بود. دیگه رسیدیم به سال ۲۰۲۰، شرکتها (مخصوصا شرکتهای بزرگ) هیچوقت اشتباه دهه‌ی ۹۰ میلادی رو تکرار نمیکنن.
از طرف دیگه، پلتفرم نرم‌افزارهای اندروید، جاوا هست. جاوا یه ماشین مجازیه که تقریبا روی هر سیسستم عاملی قابل اجراست. بنابراین، نرم‌افزارهای فعلی اندروید بدون هیچ تغییری (حتی بدون نیاز به کامپایل مجدد) میتونن روی سیستم‌عامل جدید اجرا بشن.

بله. هدف php از اسمش مشخصه. Personal Home Page. برای هرچیزی بزرگتر از این، ابزار غلطیه.
اگه بخوام یه landing page درست کنم و مدیر و مسئول پروژه روی زندگیش قسم بخوره که در آینده قرار نیست این پروژه چیزی بیشتر از این باشه، شاید از php استفاده کنم. درغیر این صورت ابزارهای زیادی وجود داره برای هرکاری و من تنها ابزارم چکش نیست که همه‌ی مشکلات رو میخ ببینم. (گرچه php اگه چکش هم باشه، اون چکشیه که عکسش توی لینک بالایی لابلای مطالب وبلاگ گذاشته شده بود)

با هر زبانی که turing complete باشه (تقریبا تمام زبانهای برنامه نویسی. حتی piet و brainf*ck) میشه هر پروژه‌ای درست کرد. دلیل نمیشه زبان خوبی باشن یا برای اون کار مناسب باشن.
خیلی خوشحالتر میشدم اگه php هیچوقت از سطحی که براش ساخته شده بالاتر نمیرفت و javascript هیچوقت از لابراتوار خارج نمیشد. مثل اگثر زبانهای برنامه نویسی که ساخته شدن ولی اسمشونو نشنیدیم و تبدیل شدن به یه صفحه از ویکیپدیا.

1 Like

نکته این نیست ک جاوا منسوخ میشه یا نه بلکه نکته اینه ک فقط یک زبان برای برنامه نویسی ios هست اونم سوئیفته الان
برای کسی با شرایط من انتخاب سوئیفت در اولویته نه اندروید با جاوا یا کاتلین یا هرچیز دیگه ای!

هرگزی وجود نداره و گوگل تو این سالها برخلاف این چیزی ک شما میگید عمل کرده اما باز هم نکته اصلی اینه ک توسعه دهنده ios خیالش از همین موارد راحته و این نکته مهمیه

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

این حرف یه جورایی درسته و منم قبول دارم

1 Like

اگر می خواین iOS کار کنید و مک بوک دارید یا هکینتاش بسیار خوش کانفیگ کاملا سازگار با pc دارید بدون کندی و کرش کردن بهترین زمانش هست یاد بگیرید مخصوصا با اومدن swiftui و تاکید کنم در چرت بودن پی اچ پی بازار کار زیادی داره ولی پول کم و توسعه اشتباه و …

بستگی داره که php برای چی بخواد استفاده بشه اگر می خوایند بازار پر سود cms هایی مثل جوملا و وردپرس رو در بر بگیرید php عالیه و تنها آپشن هست

3 Likes

شما انتخابتون swift هست و انتخاب خوبی هم هست، ولی کلا با یه دیدگاه غیرواقعی بین مقایسه android و ios دارین

این اولین محدودیت اپل گونه هست، که میگه تو نمیفهمی من میگم این خوبه، از این باید استفاده کنی … از الآن بهش عادت کن.

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

1 Like

شما با ری اکت نیتیو هم می تونید اپ iOS بزنید

1 Like

در حال حاضر دارم با فلاتر کار میکنم. اما کدنویسی با یه زبان نتیو رو بیشتر می پسندم و فکر میکنم تسلط بیشتری به برنامه نویس میده هرچند فلاتر یا ریکت هم عالی هستند.

بنده فقط یک نکته ای بود در بالا که دوستمون فرموده بودند فقط با swift می شه کد زد رو اصلاح کردم . بنده خودم با swift کار می کنم و بسیار زبان شیرین و خوش ساختی هست

1 Like