# Native Code > برنامه نویسی موبایل > Android Studio >  Visual Studio 2015 و خروجی Android

## ali_khodayar

سلام خدمت برنامه نویسان عزیز،

همونطور که حتمأ مطلع هستید مایکروسافت در ورژن جدید Visual Studio  قابلیتی اظافه کرده که میشه بوسیله کد C#‎ خروجی Android  , ios و .. گرفت. 

برای چندتا سوال پیش اومده که با این حساب :

 آیا تا چند سال آینده برنامه نویسی اندروید با زبان جاوا در محیط های Eclipse , Android Studio و ...  کنار زده میشه؟؟

آیا برنامه نویس های C#‎  جای برنامه نویسی های اندروید رو میگیرن؟؟

آیا اصلأ این یه خطر برای برنامه نویس های اندروید با زبان جاوا بحساب میاد یا خیر ،  اگر خطری هست  بنظرتون گوگل کاری یا  اقدامی انجام میده؟؟

ممنون میشم اگر نظر های خودتون رو بفرمایید ، چون من انگیزه زیادی برای کار با اندروید داشتم  اما از زمانی که این خبر رو شنیدم نگران شدم و فکر کردم شاید همون C#‎ رو دنبال کنم و بهش  مسلط تر بشم بهتر باشه.

----------


## golbafan

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

اگر هنوز میخواهید برنامه نویسی موبایل انجام بدید بهتره برید سراغ vs2015 به بالا
تنها میشه با یک کد و یک طراحی که انجام دادید ، برای ویندوز فون ، اندروید و ios خروجی بگیرید




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


خطر؟؟؟
چه خطری آخه؟؟؟
خطر برای کی؟؟؟

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

شما برید سیستم عامل ویندوز فون و Ios رو با اندروید مقایسه کنید
اصلا از لحاظ پایداری و کیفیت در یک سطح نیستند
هم در مورد سیستم عامل و هم در مورد اپلیکیشن هاشون خیلی باهم فرق میکنن

برای مثال بازی Asphalt Overdrive برای اجرای روان در ویندوز فون تنها به 312 مگ رم با یک cpu ی 2 هسته ای احتیاج داره و با استفاده از تکنولوژی DirectX بسیار روان 
و زیبا و گرافیکی کار میکنه. در حالی که برا اجرا در اندروید باید یگ گوشی با رم 2 گیگ و پردازنده 4 هسته ای داشته باشی و البته خیلی گران قیمت

علتش استفاده ویندوز فون و ios از تکنولوژی پردازش هیبریدی هست در حالی که اندروید (بخاطر هسته لینوکسش) هنوز داره از تکنولوژی سنتی صف بندی استفاده میکنه

----------


## ali_khodayar

> خطر؟؟؟
> چه خطری آخه؟؟؟
> خطر برای کی؟؟؟


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

یعنی گوگل از Android Studio حمایت نمیکنه و تلاشی برای گسترش این محیط انجام نمیده؟

----------


## Ebrahimkh

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

----------


## ali_khodayar

امیدوارم که فعلأ  فعلأ ها چنین اتفاقی نیفته . 
  چون اینطوری تعداد برنامه نویس های اندروید مساوی میشه با تعداد برنامه نویس های سی شارپ. 

در حال حاضر برنامه نویس های اندروید کمتر از سی شارپ هستن.

----------


## #root#

این طور که من برداشت کردم برای اینکه با یبار کد نوشتن (به زبان #c) بتونید سه تا خروجی مختلف بگیرید باید از Xamarin پولی استفاده کنید (کرک)، برای خروجی IOS هم که نیاز به مک هست (پول)
حالا این IDE این قایبلیت رو داره که مثل Eclipse یا Android Studio یا Intellij بتونید تنها برای اندورید به زبان جاوا برنامه بنویسید، یه شبیه ساز اندروید هم داره که سرعتش میگن بالا هست.
من خودم با این مواردی که فهمیدم ترجیح میدم با همون Android Studio که برای اندروید داره بهینه سازی و توسعه داده میشه و Genymotion به کارم ادامه بدم (نظر شخصی)،

راستی جاوا که چند سالی هست توی رده بندی ها یا اول هست یا دوم (تعصبی خاصی ندارم چون برای اندروید استفاده میشه یاد گرفتم) ، و اینکه نمیدونم چرا سیستم عاملی که توی اغلب موارد ایراد میگیرن الان بیشترین درصد بازار رو گرفته؟  :اشتباه: 

در مورد cross platform : توی اندروید مثلا میشه سر هر View یی هزار تا بلا درآورد و تا جای ممکن تغییرش داد، آیا این کار توی Xamarin شدنی هست (البته جهت خروجی گرفتن توی سه platform مختلف)؟

----------


## gilas1368

> این طور که من برداشت کردم برای اینکه با یبار کد نوشتن (به زبان #c) بتونید سه تا خروجی مختلف بگیرید باید از Xamarin پولی استفاده کنید (کرک)، برای خروجی IOS هم که نیاز به مک هست (پول)
> حالا این IDE این قایبلیت رو داره که مثل Eclipse یا Android Studio یا Intellij بتونید تنها برای اندورید به زبان جاوا برنامه بنویسید، یه شبیه ساز اندروید هم داره که سرعتش میگن بالا هست.
> من خودم با این مواردی که فهمیدم ترجیح میدم با همون Android Studio که برای اندروید داره بهینه سازی و توسعه داده میشه و Genymotion به کارم ادامه بدم (نظر شخصی)،
> 
> راستی جاوا که چند سالی هست توی رده بندی ها یا اول هست یا دوم (تعصبی خاصی ندارم چون برای اندروید استفاده میشه یاد گرفتم) ، و اینکه نمیدونم چرا سیستم عاملی که توی اغلب موارد ایراد میگیرن الان بیشترین درصد بازار رو گرفته؟ 
> 
> در مورد cross platform : توی اندروید مثلا میشه سر هر View یی هزار تا بلا درآورد و تا جای ممکن تغییرش داد، آیا این کار توی Xamarin شدنی هست (البته جهت خروجی گرفتن توی سه platform مختلف)؟


نمیدونم از کجا میگید ک تنها میشه برای اندروید و اون هم ب زبان جاوا داخل ویژوال استدیو کدنویسی کرد
اما اگ سایت خود ویژوال استدیو رو مطالعه کنین در قسمت قابلیت ها "پشتیبانی چند پلتفرمه از دستگاه های موبایل (اندروید، ویندوز، IOS)" آورده شده
مایکروسافت در ورژن 2013 این IDE و در آپدیت شماره 4اش اومد این قابلیت رو اضافه کرد و در اون زمان با استفاده از فون گپ این کار رو انجام میداد
ینی از فون گپ برای تولید برنامه هایی ک توانایی اجرا روی تمامی OS ها رو داشته باشن استفاده میکرد

فک نمیکنم مایکروسافت داخل IDEاش محیطی رو برای کد نویسی جاوا فراهم کنه و معتقدم اگر چنین امکانی داره بازم از همون فون گپ داره استفاده میکنه
البته تا نصب این IDE و تستش نمیشه چیزی رو بیان کرد
من ک دارم دانلودش میکنم
در اولین فرصت تست میکنم و نتیجه رو در همین پست اعلام خواهم کرد
البته با توجه ب اینک در آستانه عرضه ویندوز 10 در تاریخ 10 مرداد هم هستیم
احتمالا صبر کنم تا هر دوش رو باهم نصب و تست کنم :قهقهه: 
چون عادت ب نصب ویندوز زیر یکی دو سال ندارم، ترجیحا تا 7 مرداد صبر میکنم

----------


## #root#

> این قایبلیت رو داره که مثل Eclipse یا Android Studio یا Intellij بتونید تنها برای اندورید به زبان جاوا برنامه بنویسید





> نمیدونم از کجا میگید ک تنها میشه برای اندروید و اون هم ب زبان جاوا داخل ویژوال استدیو کدنویسی کرد


منظورم این بود که میشه به عنوان جایگزینی برای سه IDE که گفتم استفاده بشه نه چیز دیگه. ازاین لینک خوندم.

----------


## Sina.iRoid

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

*ویرایش:* این نوشته ها حرف من نیست. حرف کسانی هست که در زمینه جاوا سال ها فعالیت کردن.

----------


## s3rv3r

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


یکی این خطشو واسم معنی کنه.                       به زبان های پیشرفته تر؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
جدیدا چه زبان پیشرفته ای وارد بازار شده ما خبر نداریم؟؟

در ویژوال استادیو 2015 هم ظاهرا objective c رو هم اضافه کردن
همچنین آپاچی کوردوا هم اضافه شده.
من همین الان رو سیستمم دارمش. به نظرم تنها ایرادی که میشه ازش گرفت نبودن شبیه ساز واسشه باید آی فون وصل باشه با یکم دردسر بتونید تست کنید برنامتون رو


به نظر من اندروید رو باید با جاوا کار کرد. بالاخره یه سری مزیت های نسبت به زبان های دیگه داره نمیشه نادیده گرفت
برای IOS هم  اگر شد Obj C پیشنهاد خود Apple  البته سویفت هم ظاهرا مشکلاتی داره مثلا Try Catch نداره 

ویژوال استادیو زمانی بزرگترین مزیتش رو رو میکنه که ما نیاز داریم در زمان کمتر برای هردو سیستم عامل Android , IOS برنامه داشته باشیم. نه لزوما با کیفیت و امکانات بالا

در کل فکر نمیکنم هیچکدوم جای همو بتونه بگیره

----------


## storm_saeed

نمیدونم چرا یه عده بدون تحقیق یه حرفای خنده داری میزنن مثلا این جمله
_اندروید با زبان c و ++c نوشته شده و اصولا برنامه هایی که برای اندروید با c نوشته بشن خیلی با کیفیت تر هستند_

لابد شما از گوگل بیشتر حالیتونه که خودشون نمیدونن ۹۰ درصد sdk جاواس و اون بخشی که با cpp هست مربوط به ارتباط با opengl/es هست و احتمالا خیلی خنگن که تو سایت دولاپر اندروید نوشتن توصیه نمیکنیم از ndk برای اپ هاتون استفاده کنید چون بعضی جاها پرفرمنستون میاد پایین
بازم یه جا دیگه حرف خیلی خنده داری زده شد "_بخاطر هسته لینوکسش "_ احتمالا اپل و ایفون از پلی استیشن ۳ هم سریع تر باشن  چونکه از کرنل لینوکس استفاده میکرد

الان مثلا میشه با جاوا برای ویندوز فون  و ios میشه اپ و بازی زد مخصوصا برای ios که یه تیمی به اسم robovm هستن که دارن یه سری کارای خفنی انجام میدن طبق استدلال بعضیا الان باید بگیم جاوا بهترین زبونه 

توسایت stackoverflow خیلی خوبه یه نگاه به تعداد شغلایی که با جاوا میشه اپلای کرد رو ببینید ( چقد شرکتای خنگی که با جاوا دارن کار میکنن کاش یه عده از اینجا میرفتن بهشون مشاوره میدادن)



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

----------


## TeacherMath

کسایی که این حرف ها رو می زنن ( با C#‎‎ میشه برای اندورید برنامه نوشت) کسانی هستند که چند سالی است  سی شارپ کار کردن و حالا نمی تونن از اول شروع کنن جاوا یاد بگیرن دنبال یه راه می گردن که خودشونو قانع کنن !
 که به این نتیجه برسن: آره میشه با سی شارپ هم برنامه اندروید نوشت و بی خیال جاوا! :لبخند گشاده!:

----------


## storm_saeed

> کسایی که این حرف ها رو می زنن ( با C#‎‎‎ میشه برای اندورید برنامه نوشت) کسانی هستند که چند سالی است  سی شارپ کار کردن و حالا نمی تونن از اول شروع کنن جاوا یاد بگیرن دنبال یه راه می گردن که خودشونو قانع کنن !
>  که به این نتیجه برسن: آره میشه با سی شارپ هم برنامه اندروید نوشت و بی خیال جاوا!


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

این عده به نظرم یه چند وقتیه یه چی یاد گرفته و فک میکنه دیگه خدای برنامه نویسی شدن

----------


## Sina.iRoid

> اخه کسیم که تمامی اصول یه زبون خاص رو بلد باشه سوییچ کردن رو یه زبون دیگه انچنان براش دردسر نداره در واقع هر زبون تو یه چا کاربرد داره 
> 
> این عده به نظرم یه چند وقتیه یه چی یاد گرفته و فک میکنه دیگه خدای برنامه نویسی شدن


دقیقا!!! برنامه نویس بون به بلد بودن زبان برنامه نویسی نیست. خیلی ها زبان برنامه نویسی بلدن (خیلی از کسایی که در همین بازار برنامه منتشر می کنند)، اما برنامه نویسی بلد نیستند. از برنامه نویسی فقط یه کد زدن و می دونن. ساختمان داده نمی دونن. طراحی الگوریتم نمی دونن. شی گرایی نمی دونن و خیلی از مباحث دیگه که باید برای یادگیریشون فقط و زمان گذاشت و مطالعه کرد.
امیدوارم این دیدی که با یادگرفتن یه زبان، برنامه نویس میشیم هرچه زودتر از بین بره :)

----------


## golbafan

دوستان تاپیک اندروید همیشه اینقدر *تعصبی* هستند؟
متاسفانه باید بگم جاوا در نهایت باعث نابودی اندروید میشه مگر اینکه اندروید خودشو از شر جاوا خلاص کنه
البته داره یواش یواش از نسخه 5 به بعد اینکار رو میکنه و شروعش هم با کنار گزاشتن dalvik و jit هست
خوشبختانه من جاوا رو بیشتر از سی شارپ بلدم و اتفاقا بیشتر از سی شارپ هم بهش علاقه دارم
اما باید واقعیت ها رو قبول کرد...
Java's real problem is the culture of mediocrity that has grown up around it

----------


## golbafan

> ۹۰ درصد sdk جاواس و اون بخشی که با cpp هست مربوط به ارتباط با opengl/es هست


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

----------


## storm_saeed

> دوستان تاپیک اندروید همیشه اینقدر *تعصبی* هستند؟
> متاسفانه باید بگم جاوا در نهایت باعث نابودی اندروید میشه مگر اینکه اندروید خودشو از شر جاوا خلاص کنه
> خوشبختانه من جاوا رو بیشتر از سی شارپ بلدم و اتفاقا بیشتر از سی شارپ هم بهش علاقه دارم
> اما باید واقعیت ها رو قبول کرد...
> Java's real problem is the culture of mediocrity that has grown up around it


بله دقیقا درسته مخصوصا با دلایل پست اولتون . متاسفانه عقلشون نمیرسه  اگه میرسید حداقل تو سایتشون گنده مینوشتن اپ هاتون رو با سی بزنید چونکه کیفیتشون میره بالا . صرفا هم فقط گوگل نیست که انقد بی عقله ها مثلا تیم سوپر سل که clash of clans رو زدن نمیدونستن که نباید با جاوا سمت سرورشون رو بزنن یا مثلا یوتیوب از دستش در رفته که یه جاهایی که به نفعش بوده با جاوا بزنه رو نشسته با جاوا زده متاسفانه مشکلی که اینا دارن اینه که میدونن چه جاهایی باید از چه متود برنامه نویسی و چه زبون برنامه نویسی ای استفاده کنن که هم سریع به محصول برسن هم کیفیت کارشون پایین نیاد

----------


## s3rv3r

> دوستان تاپیک اندروید همیشه اینقدر *تعصبی* هستند؟
> متاسفانه باید بگم جاوا در نهایت باعث نابودی اندروید میشه مگر اینکه اندروید خودشو از شر جاوا خلاص کنه
> البته داره یواش یواش از نسخه 5 به بعد اینکار رو میکنه و شروعش هم با کنار گزاشتن dalvik و jit هست
> خوشبختانه من جاوا رو بیشتر از سی شارپ بلدم و اتفاقا بیشتر از سی شارپ هم بهش علاقه دارم
> اما باید واقعیت ها رو قبول کرد...
> Java's real problem is the culture of mediocrity that has grown up around it


تعصب کجا بود برادر من. 

نصف دنیا نفهمن که دارن با جاوا کار میکنن؟
اونوقت شما یدونه اومدی میگی جاوا به درد نمیخوره؟

a08j_lng.png

----------


## slr560

وقتی گوگل میگه جاوا یعنی تا ۳۰ سال دیگه هم جاوا هست
حرص نخورید  :چشمک:

----------


## golbafan

> وقتی گوگل میگه جاوا یعنی تا ۳۰ سال دیگه هم جاوا هست
> حرص نخورید


والّا بخدا !!!
اینا چقدر حرص میخورن

یکی ندونه فک میکنه اینا جاوا رو نوشتن!

خود جیمز گاسلینگ هم اینقدر حرص نمیخوره... ببین:

220px-James_Gosling_2008.jpg

----------


## waxoft

قرار نیست سی شارپ جایه جاوا رو بگیره چون که هر کدام برای پلتفرمی بهینه سازی شده.
در ویژوال استودیو به دو شکل میشه برنامه های cross platform نوشت که بشه در اندروید، IOS و ویندوز فون اجرا کرد
1:اولین روش استفاده از زبان سی شارپ با Xamarin می باشد که باید برای لایسنسش هزینه بدید ولی خروجی برنامه بصورت بومی یا Native  رو همه پلتفرما اجرا میشه چون سی شارپ صرفا جهت طراحی برنامه استفاده شده و برنامه توسط JIT  به پلتفرم هدف کامپایل نمیشه بلکه کامپایلر جاوا و یا Objective-C استفاده میشه.

2:روش دوم آپاچی کوردوا Apache Cordova می باشد که کامل رایگان و متن باز می باشد، کوردوا از تکنولوژی وب JavaScript,HTML,CSS برای ساختن اپلیکشن های Cross Platform استفاده میکنه چون تمامی دستگاه ها مفسر جاوا اسکریپت رو دارند، مثل این میمونه که شما یه اپلیکیشن وب رو تو دستگاهتون بارگزاری کردید نه اینترنت.
چون که برنامه های ساخته شده با کوردوا کامپایل نمیشن و در زمان اجرا نیاز به تفسیر توسط موتور جاوا اسکریپت دارند از پرفرمنس کمتری نسبت به خروجی جاوا،Objective-C،Xamarin برخوردارند ولی برای برنامه های ساده اطلاع رسانی گزینه بهتری می باشد.

نتیجه:
نتیجه می گیریم ممکنه بنا به نیاز یه اپلیکیشن کمپانی زبان برنامه نویسی خاصی رو انتخاب کنه و هیچ زبانی در خطر انقراض لااقل الان قرار نداره.
بعنوان مثال اگر بخوام یه برنامه اطلاع رسانی برای صلیب سرخ جهانی بنویسم با هزینه کمتر و نگهداریشم راحت تر باشه و بشه به راحتی برای همه پلتفرما خروجی داد و پرفرمنس مهم نباشه از Apache Cordova استفاده می کنم. و برای ساختن بازی و اجرای نتیو از زبانی که نیاز به مفسر میانی نداشته باشه مانند c,Objective-c استفاده می کنم.

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

این اولین باره در یه انجمن فارسی مطلب میزارم، متاسفانه بیشتر متنایی که می خوندم خارج از موضوع و بیشتر کل کل بود و گفتمان تخصصی کمتر دیده می شد بهتره مانند کاربرای stackoverflow.com بدنبال یافتن پاسخ در کمترین مشاجره باشیم.

----------


## golbafan

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

البته الان هم دست زیاد شده ولی تا چند وقت دیگه یک بلبشویی میشه که بیا ببین...

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

----------


## jojoba2010

گروه زیر برای برنامه نویسان آندروید با زبان #C ایجاد کردیم (Xamarin)
لینک زیر را در مرورگر گوشی که دارای telegram هست باز کنید بعد بصورت اتوماتیک در تلگرام شما گروه باز می شود و می توانید فعالیت کنید.https://telegram.me/jojoba2010

----------

