در حال حاضر پلتفرم های مختلفی برای دستگاه های موبایل وجود دارد و هرکدام از دستگاه های موبایل و تبلت به یک سیستم عامل مربوط به خود مجهز هستند که این سیستم عامل ها از نظر ساختاری با هم تفاوت هایی دارند. سه پلتفرم مطرح در دستگاه های موبایل و تبلت اندروید و IOS و ویندوز می باشد. حال اگر شما بخواهید که برای هرکدام از این پلتفرم ها برنامه هایی تولید کنید مشکلی پیش نمی آید. شما پلتفرم خود را انتخاب کرده و با توجه به پلتفرم انتخاب شده شروع به برنامه نویسی و تولید اپلیکیشن برای آن پلتفرم خواهید کرد. برای مثال اگر شما پلتفرم اندروید را استفاده کرده باشید با استفاده از زبان جاوا و xml و کتابخانه های ارائه شده توسط گوگل تولید برنامه خواهید کرد. و یا برای ویندزو فون هم با استفاده از فریمورک قوی .Net و زبان C# می توانید این کار را انجام بدهید و همچنین برای سیستم عامل IOS می توانید شروع به نوشتن برنامه به زبان objective-c کنید. حال مشکل زمانی پیش می آید که شما بخواهید برنامه ای بنویسید که قادر باشد در همه پلتفرم ها قابل اجرا باشد. در حال حاضر اپلیکیشن های بسیاری موجود می باشند که برای هرسه پلتفرم موجود می باشند. مانند بسیاری از اپلیکیشن های اجتماعی مانند تلگرام و وایبر و لاین و ... مرورگرهایی مانند کروم. حال برای این که بخواهیم یک اپلیکیشن برای هر سه پلتفرم داشته باشیم راه اولیه آن این است که برای هر پلتفرم یک نسخه داشته باشیم و طبیعتا هر نسخه به همان زبان مربوط به همان پلتفرم نوشته شده است. مشکل از این قسمت شروع می شود. به این شکل که اگر کسی بخواهد که یک برنامه برای سیستم های موبایلی داشته باشد باید به برنامه نویسی به هر سه پلتفرم مسلط باشد و یا در تیم خود اعضایی داشته باشد که هر سه پلتفرم را پوشش دهند. انجام اعمال گفته شده باعث بالا رفتن هزینه تولید و تغییر برنامه خواهد شد. اما مزیت هایی از قبیل بومی (native) بودن برنامه ها خواهد داشت. که این خصوصیت باعث بالا رفتن سازگاری برنامه با محیط اجرا خواهد شد و همچنین سرعت اجرا هم بالاتر خواهد بود. ولی در سیستم های کنونی که منابع سخت افزاری قوی دارند شاید سرعت مشکل جدی نباشد اما با توجه به سرعت بالای تغییرات باید بتوان هرچه زودتر آپدیت ها را انجام داد و مشکلات کاربران به سرعت حل شود. به دلایل گفته شده امکان دارد که این تغییرات در حالت بومی کند باشد. اگر شما یک برنامه نویس به زبان .Net باشید می توانید با استفاده از Xamarin شروع به برنامه نویسی برای هر سه پلتفرم با زبان C# کنید. ولی مشکلی که در کار با Xamarin وجود دارد این است که برای مثال اگر شما بخواهید با Xamarin برای اندروید برنامه بنویسید باید به همه ی مفاهیم گفته شده در اندروید مانند اکتیویتی و سایر قسمت ها تسلط داشته باشید و کل قوانین که در زبان اندروید رعایت می شود را رعایت کنید و فقط به جای استفاده از زبان جاوا از زبان C# استفاده کنید. مزیتی که این روش دارد این است که می توانید از قدرت زبان C# در تولید برنامه هایتان استفاده کنید. ولی مشکلاتی که وجود دارد این است که Xamarin برای آن که روی هر پلتفرمی نصب شود کتابخانه های mono را روی آن سیستم نصب خواهد کرد. همچنین همانطور که گفته شد باید به ساختار پلتفرم مقصد تسلط داشته باشید. راه حلی که می توان برای بسیاری از برنامه ها مورد استفاده قرار داد این است که از یک فریمورک استفاده کنیم که در همه پلتفرم ها قابل استفاده باشد و همچنین زبان برنامه نویسی آن نیز ساده باشد. یکی از فریمورک هایی که این راه حل را ارائه می دهد فریمورک Cordova می باشد. در این مطلب به معرفی این فریمورک خواهیم پرداخت.
کوردوا پلتفرمی است که برای ساخت برنامه های موبایل با استفاده از زبان های HTML و CSS, JavaScript استفاده می شود. می توان کوردوا را به این شکل در نظر گرفت که کوردوا یک اتصال بین اپلیکیشن تحت وب و دستگاه موبایل ما ایجاد می کند که بتوانیم از قابلیت های موبایل در آن استفاده کنیم. ممکن است که اپلیکیشن تحت وب شما نتواند از همه قابلیت های موبایل شما استفاده کند به همین دلیل از کوردوا استفاده می کنیم. کوردوا یک پل ارتباطی بین اپلیکیشن تحت وب و دستگاه موبایل شما فراهم می کند. با استفاده از کوردوا ما می توانی از قابلیت های موبایل مانند دوربین و GPS و سیستم فایل و سایر قابلیت های آن استفاده کنیم. برای این که کسی بتواند از کوردوا استفاده کند باید به زبان ها HTML, CSS, JavaScript مسلط باشید.
این ابزار برای ساخت یک پروژه جدید مورد استفاده قرار می گیرد. از قابلیت های دیگر این ابزار این است که می توان برای پلتفرم های مختلف برنامه را ساخت. به این معنی که برنامه ساخته شده را به پلتفرم مقصد publish کرد. همچنین با استفاده از این ابزار می توان برای نصب پلاگین ها و سایر ابزارهای کوردوا استفاده کرد.
کوردوا اجزایی را برای کاربران فراهم می کند که در هر برنامه موبایلی لازم است. این اجزا می توانند برای ساخت اصول و پایه های یک برنامه مورد استفاده قرار بگیرند. در حالی که با استفاده از خود زبان بومی ممکن است کار زیادی برای پیاده سازی آن لازم باشد ولی این فریمورک این بخش ها را دارا می باشد.
کوردوا مجموعه APIهایی را ارائه می کند که بتوان از قابلیت های خود دستگاه موبایل برای تولید برنامه ها استفاده کرد.
پس از بیان مزایا و معایب کوردوا باید دقت کنیم که این برنامه در کجا و در چه زمانی قابل استفاده است. Itpro باشید
نویسنده: مهدی عادلی فر
منبع: انجمن تخصصی فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
بنیانگذار توسینسو و برنامه نویس
مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود