PDA

View Full Version : سوال: محدودیت های جاوا اسکریپت در ساخت برنامه ها



mr.dp+
پنج شنبه 15 آبان 1393, 09:36 صبح
دوستان نظر شما در مورد ساخت اپلیکیشن های چند سکویی (موبایل و دسکتاپ) با استفاده از javascript و فریمورکهاش , انتخاب مناسبیه ؟
توی ساخت برنامه های موبایل محدودیتی داره ؟ تحت دسکتاپ چطور‌؟

barnamenevisjavan
پنج شنبه 15 آبان 1393, 22:21 عصر
به نقل از سایت ehsanavr کاملا پاسخ به سوال شماست :

هدف از انتشار این مقاله معرفی زبان Javascript (http://ehsanavr.com/category/web-development/javascript-web-development/) به عنوان بهترین زبان برنامه نویسی جهت یادگیری و توسعه کسب و کار می باشد.
نتایچ به دست آمده نظر شخصی بنده پس از 10 سال برنامه نویسی حرفه ای می باشد.
هدف از یادگیری برنامه نویسی می تواند تعدادی از گزینه های زیر باشد:


طراحی نرم افزار تحت دسکتاپ
طراحی وب سایت
طراحی بازی های دو بعدی و سه بعدی
طراحی نرم افزار تحت موبایل
و …

برنامه نویسان ایرانی علاقه زیادی به دات نت دارند و برای انجام پروژه های دسکتاپ معمولا از C#.NET و پروژه های تحت وب از ASP.NET استفاده می کنند.
پلتفرم دات نت فقط روی سیستم عامل ویندوز اجرا می شود. البته تلاش هایی برای اجرای برنامه های سی شارپ در سایر سیستم عامل ها شده است که در عمل برای پروژه های تجاری قابل استفاده نیستند.
البته اکثر برنامه نویسانی که فقط وب کار می کنند از PHP استفاده می کنند. یادگیری PHP ساده و منابع آموزشی آن فراوان است. اما با پی اچ پی فقط می توانید وب سایت طراحی کنید. روش هایی برای استفاده از PHP روی دسکتاپ یا موبایل وجود دارد که باز هم در پروژه های تجاری نمی توان از آن استفاده کرد.
برای طراحی بازی های سه بعدی معمولا از موتور بازی سازی Unity به همراه یک زبان برنامه نویسی دیگر استفاده می شود.
برنامه نویسان اندروید هم معمولا برنامه های خود را با Java و Eclipse (http://ehsanavr.com/category/softwares/eclipse/) طراحی می کنند.
برای طراحی اپلیکیشن های iOS نیز معمولا از Objective-C و Swift استفاده می شود.
قدرت زبان های Python و Java را نمی شود نادیده گرفت اما اینطور که پیش می رود آینده زبان های برنامه نویسی در دست جاوااسکریپت است.
با استفاده از جاوااسکریپت شما می توانید علاوه بر اسکریپت های سمت کلاینت، این کارها را انجام دهید:


برنامه نویسی سمت سرور و ساخت وب سایت های قدرتمند (پشتیبانی از ترافیک بالا، امکانات زیاد)
برنامه نویسی نرم افزار دسکتاپ با قابلیت اجرا روی ویندوز، لینوکس، مک
برنامه نویسی نرم افزار موبایل با قابلیت اجرا روی اندروید، آی او اس، ویندوز فون و …
طراحی بازی های دو بعدی و سه بعدی با قابلیت اجرا روی تمامی پلتفرم های موجود

ویژگی های زبان جاوااسکریپت به صورت خلاصه:


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

البته این نکته را به یاد داشته باشید که همراه Javascript همیشه HTML و CSS نیز هستند.
تا به حال کتابخانه های زیادی برای جاوااسکریپت نوشته شده است که به کمک آن ها می توانید برنامه های قدرتمندی در کمترین زمان خلق کنید.
تعدادی از این کتابخانه ها در مرجع تخصصی برنامه نویسی (http://ehsanavr.com/) قبلا آموزش داده شده اند. حتی یک دوره برنامه نویسی چند سکویی موبایل (http://ehsanavr.com/tag/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%DA%86%D9%86%D8%AF-%D8%B3%DA%A9%D9%88%DB%8C%DB%8C/) نیز شروع شده است که با استفاده از جاوااسکریپت برنامه هایی طراحی می شود که قابلیت اجرا روی تمامی پلتفرم های موبایل را دارد.
در آینده اگر فرصتی باشد یک دوره برنامه نویسی دسکتاپ چند سکویی با Javascript و برنامه نویسی تحت وب با NodeJS نیز شروع خواهم کرد.
فهرست برخی از فریمورک های پرکاربرد جاوااسکریپت:


Iconic (http://ionicframework.com/) جهت طراحی اپلیکیشن های تحت موبایل
Reactive Coffee (https://github.com/yang/reactive-coffee) جهت طراحی رابط های گرافیکی مقیاس پذیر و سبک
SKEL JS (https://github.com/n33/skelJS) جهت طراحی وب سایت و اپلیکیشن واکنش گرا
BACKBONE (http://backbonejs.org/) جهت طراحی اپلیکیشن های قدرتمند به سبک MVC
ANGULAR (http://angularjs.org/) جهت ارتباط همزمان کلاینت با سرور
STAPES (https://github.com/hay/stapes) جهت طراحی اپلیکیشن ها با سبک MVC
KRAKEN (http://cferdinandi.github.io/kraken/) جهت ساخت اپلیکیشن های موبایل
SPINE (http://spinejs.com/) جهت ساخت اپلیکیشن های وب MVC
AGILITY (http://agilityjs.com/) فریمورک MVC برای ساخت اپلیکیشن های وب
IIO Engine (http://iioengine.com/) جهت رسم اشیاء دو بعدی و سه بعدی – ساخت انیمیشن و بازی
Kendo UI (http://www.kendoui.com/) جهت طراحی اپلیکیشن ها به سبک MVVM
Knockout (http://knockoutjs.com/) جهت ساخت اپلیکیشن های حرفه ای و سریع به سبک MVVM
Tree (http://threejs.org/) جهت رسم اشیاء دو بعدی و سه بعدی – ساخت بازی و انیمیشن

همچنین پلتفرم هایی مانند Cordova (http://cordova.apache.org/) برای طراحی اپلیکیشن های تحت موبایل، TideSDK (http://www.tidesdk.org/) برای طراحی اپلیکیشن های دسکتاپ، APPJS (http://appjs.com/) برای ساخت اپلیکیشن های دسکتاپ، DesktopGap (http://www.smartfeeling.org/desktopgap/) برای ساخت اپلیکیشن های دسکتاپ و هزاران کتابخانه دیگر که اکثرا رایگان و متن باز هستند، برای جاوااسکریپت وجود دارند.