زامارین ، خوب ، بد ، زشت ؟!


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

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

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

خب حالا من چند تا از طرز فکرای نادرست می گم و نظر خودمو بیان میکنم:

1-  راه میان بری احمقانه به نام  زامارین

چند وقت پیش (اگه اشتباه نکنم اردیبهشت 95 بود) در یکی از سایت ها یک مقاله در مورد زامارین خوندم که دوست برنامه نویسمون با لحنی تمسخر آمیز و تخریب کننده نظرشو درباره زامارین گفته بود که اون موقع ها بهش حق میدادم چنین مقاله ای رو بنویسه ، اما الان باهاش مخالفم

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

2- سی شارپ یا جاوا؟؟؟

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

فکر نکنید به عنوان یک دات نت کار ، دارم تعصبی فکر می کنم و می خوام بگم فقط سی شارپ خوبه ، نه! این طور نیست .

اگر شما فردی هستید که میخواین تازه برین سمت برنامه نویسی اندروید و تنها زبان هایی که کار کردین سی و سی پلاس پلاس بوده (اونم تو دانشگاه مجبور شدین یاد بگیرین) ، به نظرم به سمت جاوا و استفاده از اندروید استودیو برید بهتره و احساس راحتی بیشتری می کنید ولی اگه شما فردی هستین که چند ساله سی شارپ کار می کنید  یا هر چند وقت یک بار با دیدن یک نوآوری جدید میرین سمتش و حتی با دید کسب درامد از طریق برنامه نویسی اومدین وارد این حوزه شدین ؛ بهترین گزینه زامارینه ، چون در آینده ای نه چندان دور بیشتر شرکت های حوزه IT ایران به دلیل مقرون به صرفه بودن تکنولوژی های cross Platform به سمت این دسته از پلتفرم های برنامه نویسی میرن . که از بین گزینه های موجود ، پیشنهاد من به شما زامارین هست .

3- گرفتن سه خروجی همزمان یک شوخی

برای این دسته از دوستان باید خدمتشون بگم که ، گرفتن سه خروجی همزمان مربوط میشه به پروژه های cross platform  بخش xamarin form .

در زامارین فرم شما با یک سمپل خاص و تعریف شده در c# یک بار کدتون می نویسید و خودش به صورت اتوماتیک خروجی  Android ، IOS ، WindowsPhone و Windows اپلیکیشن رو بهتون میده (البته این رو بگم که توی زامارین فرم شما محیط ویژوال و بصری برای طراحی تون ندارید)

📷

خب الان حتما میگین این خیلی معرکس . درسته ولی از زامارین برای ساخت هر نوع اپلیکیشنی نمیشه استفاده کرد ؛ حتی خود سایت زامارین هم به این نکته اشاره کرده و گفته که در حال حاضر ، زامارین فرم به درد پروژه های متوسط می خوره و هنوز امکان پیاده سازی پروژه های سنگین امکان نداره.

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

4- زامارین ios یک دروغ بزرگ زامارین...

اگه با زامارین کار کرده باشین و یک پروژه ios تو زامارین درست کرده باشین حتما متوجه شدین بعد از ایجاد پروژه به شما میگه به مک باید متصل بشین و گرنه حتی نمی تونید محیط UI ببینید.

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

5-خروجی زامارین = حجم زیاد و سرعت کم

بحث حجم خروجی زامارین بستگی به خودتون داره که تنظیمات خروجی رو چجوری تنظیم کرده باشید. به عنوان مثال ، من برای بار اول حجم اولین اپلیکیشنی که نوشتم 50مگ شد(یک ماشین حساب ساده) ولی الان خروجی اون ماشین حساب به 4 مگ رسیده ، حالا این که چطور این حجم رو میشه کم کرد . من در قالب یک آموزش ویدئویی ، نحوه برطرف کردن این مشکل رو به صورت کامل توضیح دادم .

درمورد سرعت اپلیکیشن ها زامارین،خیلی از افراد برای تست اپلیکیشن در Emulator  خود SDK اندروید یا Genymotion خروجی میگیرن که منم با این شبیه ساز ها که کار کردم واقعا ازاردهنده بود و فکر کردم سرعته اپلیکیشن های زامارین خیلی پایینه ، ولی ویژال برای این مشکل Emulator مخصوص به خودشو درست کرد که به شدت سرعتش از بقیه Emulatorهای اندروید بیشتر بود (Visual Studio Emulator for Android ) ولی در کل در مقایسه با اپلیکیشن های که با اندرویداستدیو نوشته شده من تفاوت سرعتی ندیدم!

6-زامارین یک اشتباه بزرگ...

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

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

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

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

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

برای مطالعه این مقاله در وب سایت ویادولوپرز اینجا کلیک کنید.

موفق باشید