PDA

View Full Version : MoSync چیست؟



sooren_66
جمعه 10 مرداد 1393, 00:18 صبح
با سلام
میشه یه توضیح در مورد MoSync بدید وبگید به چه درد می خوره و اصلا" چی هست و به جای چه برنامه ای ازش استفاده می کنن .و چه نیازهایی رو پاسخ میده.داشتم یه کتاب در مورد اندروید می خوندم که به این مبحث رسید ولی چون کتاب مال سال 90 بود ترجمش گفتم شاید دیگه به کار نیاد و به جاش برنامه ی دیگه ای اومده.

smemamian
جمعه 10 مرداد 1393, 01:28 صبح
سلام
MoSync ابزارهایی رو در اختیارشما قرار میده که می تونید با استفاده از زبان های سی/سی++ و یا حتی HTML یا JavaScript برای انواع سیستم عامل های
گوشی برنامه نویسی کنید. اگر قصدتون نوشتن برنامه های کاربردی هستش نیازی ندارید سی/سی++ رو یادبگیرید و جاوا کفایت می کنه ولی اگر می خواهید
بازی بسازید باید یکبار هم شده MoSync رو تست کنید و ازش استفاده کنید. مزیتی که MoSync داره اینه که با Eclipse کار می کنه.

مستندات پیشنهاد می کنند با زبان هایی مثل سی/سی++ برنامه نویسی نکنید.

نقل قول :


Developing your app with native code using the Android NDK isn't necessarily more efficient than programming with the Java language.


منبع (http://developer.android.com/training/articles/perf-tips.html)

sooren_66
جمعه 10 مرداد 1393, 12:50 عصر
سلام
MoSync ابزارهایی رو در اختیارشما قرار میده که می تونید با استفاده از زبان های سی/سی++ و یا حتی HTML یا JavaScript برای انواع سیستم عامل های
گوشی برنامه نویسی کنید. اگر قصدتون نوشتن برنامه های کاربردی هستش نیازی ندارید سی/سی++ رو یادبگیرید و جاوا کفایت می کنه ولی اگر می خواهید
بازی بسازید باید یکبار هم شده MoSync رو تست کنید و ازش استفاده کنید. مزیتی که MoSync داره اینه که با Eclipse کار می کنه.

مستندات پیشنهاد می کنند با زبان هایی مثل سی/سی++ برنامه نویسی نکنید.

نقل قول :




منبع (http://developer.android.com/training/articles/perf-tips.html)

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

lvlostafa7
جمعه 10 مرداد 1393, 12:57 عصر
یعنی منظورتون اینه که بدون اینکه اندروید رو بلد باشیم و فقط با دونستن جاوا میشه برای گوشی هایی با سیستم عامل اندروید برنامه ساخت؟

در کل اندروید یک سیستم عامل هست و جاوا زبان برنامه نویسی پس برای این سیستم عامل میشه از زبان جاوا استفاده کرد

sooren_66
جمعه 10 مرداد 1393, 15:12 عصر
میدونم ولی برای سیستم عامل اندروید که به تنهایی با جاوا نمیشه برنامه نوشت.بهتره از xml و جاوا استفاده کرد منظورم اینه که با MoSync فقط جاوا بلد بود کافیه یا باز هم وابسته به سیستم عامل اندروید برنامه نوشت یعنی از xml هم استفاده کرد.

Nevercom
جمعه 10 مرداد 1393, 17:31 عصر
اجازه بدید مفهوم کلی رو توضیح بدم:

سیستم عامل اندروید به شکلی نوشته شده که برنامه ها در یک ماشین مجازی تحت عنوان Dalvik VM اجرا میشن (البته درحال سوییچ به ART هست)، این ماشین مجازی نسخه ای از ماشین مجازی جاوا هست.

برای برنامه نویسی برای اندروید باید از Android SDK استفاده کرد که به زبان جاوا هست و قسمت هایی از برنامه رو میشه با NDK نوشت که به زبان C هست.

تنها و تنها از جاوا و C (شایدم ++C) میشه استفاده کرد و توجه داشته باشید که با ++C و NDK نمیشه یک برنامه ی کامل نوشت و این کدها باید از طریق کدهای جاوا مورد استفاده قرار بگیرن.

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

به همین دلیل خیلی از شرکت ها محصولاتی ارائه دادن که با استفاده از یک زبان دیگه مثل Basic یا HTML5 یا #C... کدهاتون رو می نویسید و درنهایت اپلیکیشن اندروید تحویلتون میدن
این ابزارها یا میان کدهای شما رو به کدهای جاوا تبدیل می کنن و اون رو کامپایل می کنند (مثل Basic4Android)، یا باید مفسر موردنیاز روی سیستم نصب باشه (مثل Adobe Air)، یا مفسری داخلی دارن که در هر اپلیکیشن وجود داره و کدها رو برای سیستم عامل ترجمه و اجرا می کنه.

تا زمانی که گوگل (یا بهتره بگم AOSP) یک SDK برای زبانی دیگه منتشر نکنه، نمیشه مستقیم با زبانی دیگه برای اندروید برنامه نوشت و این ابزارها هم مجبور هستن در نهایت کد به زبان جاوا تولید کنند.

زبان اصلی برنامه نویسی برای اندروید جاوا هست، XML یک زبان برنامه نویسی نیست. خود XML اهمیتی نداره و اصلاً پیچیدگی ای نداره که نیاز به یادگیری داشته باشه، شما باید قوائد SDK اندروید برای نوشتن کدهای XML رو یاد بگیرید.

در مورد خود MoSync و ابزارهای مشابه که چه فایده ای دارن:

فرض کنید یکی این سوال رو مطرح می کنه که من قصد دارم برنامه ای برای اندروید باید بنویسم، چه باید بکنم ؟

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

قصد داری این اپلیکیشن رو برای پوشش دادن نیاز خودت یا تجارتت تولید کنی یا به دنبال این هستی که یک توسعه دهنده ی اپلیکیشن های اندروید بشی ؟


اگر صرفاً می خوای برای سایت خودت یک برنامه بنویسی و علاقه ای نداری برنامه نویسی اندروید رو بعنوان شغل یا زمینه ی اصلی کاری انتخاب کنی:

تجربه ی کار با زبان های برنامه نویسی رو داری؟ :

طراح وب (HTML + CSS+JS): از این فریم وورک ها استفاده کن: Phonegap, Appcelerator Titanium, Sencha, MoSync و ....
Basic: برنامه ی Basic4Android یک انتخاب خوب هست
#C: فریم وورک Xamarin خیلی قدرتمند هست
++C: گمان می کنم با Qt میشه برای اندروید برنامه نوشت، شاید همین MoSync
Python: از اونجایی که پایتون و لینوکس رابطه ی خوبی با هم دارن، شاید با پایتون بشه برای اندروید برنامه نوشت
برای زبان های دیگه هم جستجو کنید


اگر تجربه ی برنامه نویسی نداری، به یک برنامه نویس سفارش بده تا برات بنویسه


آیا حاضری یک زبان جدید رو یاد بگیری یا ترجیح میدی با زبانی که باهاش آشنایی داری کار کنی و حاضری با محدودیت هاش کنار بیای ؟

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


آیا امکان توسعه ی Cross-Platform خیلی برات مهمه ؟ اینکه بتونی در یک محیط توسعه و با یک زبان واسه پلتفرم های مختلف برنامه بنویسی ؟ (قطعاً محدودیت هایی وجود داره)

اگه آره لیست زیر رو ببین:

Xamarin: قابلیت توسعه برای Android + iOS + WinPhone و چون زبان #C هست برای ویندوز
Basic4Android: در آینده قراره نسخه ای برای کامپایل برای iOS فراهم بشه. الان هم با Basic4Java میشه به زبان Basic نرم افزارهای جاوا نوشت که ذاتاً روی Mac OS, Windows و Linux اجرا میشن
بیشتر ابزارهای توسعه بر پایه ی HTML5 که بالا لیست شدن قابلیت توسعه ی Cross-Platform رو دارن
Qt که فکر می کنم یکی از انتخاب های اساسی برای توسعه ی Cross-Platform باشه، گرچه نمیدونم تا چه حد پلتفرم های موبایل رو ساپورت می کنه
خود Java هم نباید فراموش بشه


اگه نه که خب برو جاوا رو یاد بگیر، البته یادت باشه جاوا خودش ذاتاً روی خیلی از پلتفرم ها اجرا میشه



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

sooren_66
جمعه 10 مرداد 1393, 18:29 عصر
شما باید قوائد SDK اندروید برای نوشتن کدهای XML رو یاد بگیرید.

ممنون از پاسختون ولی این مبحث (قوائد SDK اندروید برای نوشتن کدهای XML)رو از کجا می تونم یاد بگیرم سرچ کردم چیزی دستگیرم نشد.