مشخصات مقاله
مدیریت کد های Xamarin
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
مدیریت کد های Xamarin
امروزه محیط های توسعه برنامه های موبایل به همراه چندین پلتفرم نظیر اندروید، iOS و Windows Phone یک چالش به شمار می رود و همواره تلاش می کنند توجه کاربران را بیشتر و بیشتر جلب کنند. با ادامه مطالعه این مقاله به راحتی نیاز های برنامه نویسی موبایل را برای پلتفرم های مختلف به حداقل برسانید.
بخشی از تاریخچه موبایل
در آغاز دهه اول سال 2000، یکی از رایجترین زبان های برنامه نویسی Java برای دستگاه های Nokia Symbian، یا فریم ورک فشرده .Net برای دستگاه های Windows Mobile بود. در صورتی که در خط کسب و کار برنامه های تجاری هستید می توانید به سیستم عامل Microsoft اعتماد کنید. چرا که امروزه یک استاندارد در کسب و کار برنامه نویسی موبایل به شمار می رود.
اگر شما بیشتر مصرف کننده گرا (consumer-oriented) هستید، می توانید سمت Nokia بروید. چون Nokia موسس اولین فروشگاه نرم افزارهای موبایل در جهان، با نام Nokia OVI ، است. برای خریداران فضایی در نظر گرفته شده که می توانند با مراجعه به آن ها نرم افزرهای مورد نیاز خود را در آن خرید کنند. فقط کافیست شما آشنایی کافی با Java و J2EE داشته باشید و برنامه خود را توسعه دهید و در فروشگاه OVI رفته و محصول خود را در آن جا به فروش برسانید.
با معرفی اولین iPhone در سال 2007 همه چیز تغییر کرد. یک دستگاه فلزی و شیشه ای و با صفحه ای تمام لمسی و بدون نیاز به قلم. فقط کافی بود انگشت خود را بر روی رابط کاربر ی جذاب، سریع و روان بچرخانید و از برنامه هایی استفاده شد که تا قبل از آن دیده نشده بودند. درواقع اپل تجربه mobile را از نو پایه ریزی کرد و iphone یک مدل الهام بخش برای سایر شرکت ها به شمار می رفت.
اما این رقابت iPhone هرگز بدون چالش نماند. Google شروع به کار بر روی جایگزین iPhone کرد. یک دستگاه جدید مبتنی بر لینوکس و متن باز که تا حد زیادی قابل سفارشی شدن بود. بر خلاف اپل که دسترسی های محدودی در اختیاران مصرف کنندگان قرار میداد و سیستم خود را همچنان حفظ می کرد. Android در سپتامبر سال 2008 به صورت عمومی منتشر کرد.
در همین حین که اپل و Google در حال رقابت بر سر کسب سهم بازار بودند، مایکروسافت محصول جدید خود با نام Windows Mobile نسخه 7 را روانه بازار کرد. دستگاهی که از نظر ظاهر مشابه Windows mobile 6.X بود و همچنان نیاز به قلم داشت. به نظر می رسید مایکروسافت هیچ توجهی به اپل یا Google ندارد. تا اینکه در سال 2010 مایکروسافت نسل جدیدی از Windows Phone را روانه بازار کرد. ظاهری جدید برای Windows Phone طراحی شده بود که در آن یکسری کاشی های زنده قرار داده شده بود. بعضی از آنها به عنوان widget های روی صفحه بودند و بدون باز کردن برنامه، یکسری اطلاعات دباره آن نمایش می داد.
توسعه برنامه نویسی موبایل مدرن
حداقل باید سه پلتفرم برای موبایل در نظر داشت:
· iOS: برای دستگاه هایی نظیر iPhone و iPad
· Android: شامل طیف وسیعی از دستگاه ها، ساخت شرکت های مختلف، از یک ساعت کوچک گرفته تا تبلت ها و تلفن های مختلف.
· Windows Phone: شامل تلفن های 3 تا 6 اینچی و تبلت های ARM Windows RT
به عنوان یک مصرف کننده از اینکه گزینه های مختلفی برای شما وجود دارد خوشحال خواهید شد. دستگاه های متنوعی با هزینه های مختلف وجود دارد. اما در مقام یک برنامه نویس ممکن است کمی دست پاچه شوید. چرا که باید مطالب زیادی را در مدت زمان کوتاهی یاد بگیرید.
هر پلتفرم نیازمندی های خاص خودش را دارد:
· iOS: توسعه پذیر بر روی Mac. استفاده از محیط توسعه XCode ، Objective-C یا زبان جدید Swift.
· Android: توسعه پذیر بر روی Mac/Windows/Linux. استفاده از محیط های توسعه متنوع شامل Android (Google’s) Studio، Eclips، IntelliJ و یا Netbeans و زبان های برنامه نویسی Java یا C.
· Windows/Windows Phone: قابلیت توسعه فقط در Windows امکان پذیر است. استفاده از محیط های توسعه Visual Studio و Visual Basic.NET و زبان های برنامه نویسی C# یا C++.
اگر قصد توسعه برنامه تحت موبایل را دارید و می خواهید مخاطبان زیادی داشته باشد، گزارش IDC زیر را با نگاهی به بخش های مختلف بازار موبایل مطالعه کنید:
http://www.idc.com/prodserv/smartphone-os-market-share.jsp
84.7% از بازار را اندروید، 77.7% را iOS و 2.5% را WindowsPhone ها به خود اختصاص داده اند.
اگر هدف شما اندروید است، باید در نظر داشته باشید که مصرف کنندگان بالقوه iOS و Windows Phone را از دست خواهید داد.
اگر قصد برنامه نویسی چند پلتفرمه را دارید، باید هر پلتفرم را یاد بگیرید و سه برنامه مختلف بنویسید. با توجه به پیچیدگی رایج برنامه های معمولی، این امر کمی دلهره آور خواهد بود.
Xamarin
به گفته Miguel de Icaza، وضعیت فعلی برنامه نویسی چند پلتفرمه خیلی سخت است. Miguel de Icaza و Nat Friedman، موسسان Xamarin هستند. با پایه قرار دادن خصوصیات Framework C# و .NET ، یک ماشین مجازی برای Android و کامپایلر متقابل (cross compiler) برای iOS طراحی کردند. به این ترتیب برنامه نویسان با تسلطی که به زبان .Net دارند، قدرت نفوذ بیشتری برنامه های خود را برای سه پلتفرم مختلف (شامل اندروید، iOS و Windows Phone) توسعه می دهند.
همچنین Xamarin محیط توسعه خود را با نام Xamarin Studio طراحی کرده است که هم برای Mac OSX و هم برای Windows موجود است. در هر دو پلتفرم می توانید با استفاده از Xamarin Studio برنامه های iOS و اندروید را پیاده سازی کنید. درصورتی که قصد توسعه برنامه های مخصوص Windows Phone را داشته باشید می توانید از Xamarin در Visual Studio استفاده کنید.
مدیریت کدهای منبع بوسیله Plastic SCM
یکی از مهمترین مراحل توسعه یک نرم افزار ، مدیریت کدهای منبع یا به اختصار SCM (source code management) است. در دنیای برنامه نویسی های چند پلتفرمه برخی از برنامه نویسان از Mac و Xamarin Studio، Windows و Visual Studio، و Windows و Xamarin Studio برای توسعه برنامه های خود استفاده می کنند. به هر حال شما به راه حلی ساده نیاز دارید که ظرفیت کافی برای تمام پلتفرم ها را دارا باشد. برای این منظور یکسری SCM وجود دارد که در این میان، Plastic SCM یکی از مناسبترین آنها جهت برنامه نویسی های چند پلتفرمه به شمار می رود.
Plastic SCM با استفاده از Mono توسعه یافته و بوجود آمده است. تکنولوژی چند پلتفرمه Xamarin هم بر همین اساس توسعه یافته است (Mono هم بوسیله Miguel de Icaza بوجود آمد). از آنجا که Plastic SCM چند پلتفرمه است، لذا همیشه می توانید به تلنولوژی های مشابه دسترسی داشته باشید. صرفنظر از اینکه کدام پلتفرم را برای برنامه نویسی انتخاب می کنید.
Transparent SCM به عنوان بخشی از این تکنولوژی به شمار می رود که در پس زمینه (background) کار می کند و مدیریت کدهای شما را به عهده دارد تا شما بر روی فرآیند توسعه نرم افزار تمرکز داشته باشید و نگران مدیریت کدها نباشید.
برای استفاده از Plastic SCM (و Transparent SCM) باید میزبان Plastic SCM را روی سیستم خود نصب کنید و یک فضای کار (workspace) جدید را تنظیم کنید. به همین منظور: به بخش Repositories & Workspaces رفته و گزینه Workspaces را انتخاب کنید. در تب باز شده بر روی Create new workspace کلیک کنید. با این کار پنجره New workspace window باز خواهد شد:
نام و مسیر ذخیره سازی بر روی دیسک را برای فضای کاری خود انتخاب کنید. پس از انتخاب مخزن (repository) پیش فرض و ساخت یک مخزن جدید، بر روی دکمه OK کلیک کنید. با این کار فضای کاری جدید ایجاد می شود و به تب Plastic SCM Workspaces بر خواهید گشت.
Xamarin و Plastic SCM
Xamarin Studio را باز کنید و یک پروژه جدید Xamarin. Forms در همان مسیر Workspace ایجاد کنید:
بر روی OK کلیک کنید و صبر کنید تا Xamarin Studio فرآیند ساخت پروژه را تکمیل کند. اگر به پوشه فضای کاری Plastic SCM مراجعه کنید، تمام فایل های جدید را در آنجا مشاهده خواهید کرد. این فایل ها هنوز در SCM قرار داده نشده اند. به همین منظور بر روی پوشه اصلی راست کلیک کرده و گزینه checkin را از منوی popup انتخاب کنید.
حالا تمام فایل های پروژه جدید در شاخه Added and private اضافه شده است و ما باید آنها را انتخاب کرده، یک توضیح برای آنها نوشته و بر روی دکمه Checkin، در قسمت بالا و سمت چپ پنجره، کلیک کنید تا مخزن SCM به پروژه شما اضافه شود.
مشابهاً می توانید تمام کامپوننت های مورد نیاز برای پروژه های iOS و Windows Phone را اضافه کنید.
بعد از Checkin پوشه اصلی، تمام فایل های اضافه شده و تغییر یافته به فضای کاری پروژه اضافه خواهد شد:
این تمام کاری بود که باید انجام می دادیم. حالا می توانیم بدون نگرانی درباره مدیریت منابع، کار بر روی پروژه خود را ادامه دهیم. Transparent SCM تغییرات کد های ما را مدیریت می کند، جابجایی فایل ها و فولدر ها را پیگیری می کند، و با استفاده از الگوریتم تشخیص شباهت Plastic SCM، فایل های مختلف را با هم ادغام میکند.
تمام این کارها بدون نیاز به نصب پلاگین ها یا بدون محدود بودن به یک IDE خاص، انجام می شوند.