ورود

View Full Version : چقدر جاوا کافیست ؟



shrekgame
یک شنبه 14 دی 1393, 01:24 صبح
سلام سوال مهمی دارم و اون اینه که برای برنامه نویسی اندروید چقدر باید جاوا بلد باشم ؟
من بیشتر کارم بازی سازیه و میخام سی ++ یاد بگیرم ولی در حین میخام برای اندرویدم برنامه نویسی کنم چون کارم بازی سازیه اندروید هست
حالا اینکه چقدر جاوا لازمه ؟ باید کاملا مسلط باشیم ؟ و اینکه ایا کل سینتکس های جوا تو برنامه نویسیه اندروید استفاده میشه ؟ مثلا نحوه ی استفاده از scanner یا سینتکس هایی مثل system.out و...
خلاصه چقدر سر جاوا وقت بذارم قبل از اندروید ؟ کتاب سی ++ دیتل فارسی روگرفتم نزدیکای 1300 صفحه هست فکر کنم 1 سالی طول بکشه همینقدر هم بخام جاوا یاد بگیرم خیلی بده

lastcoder
یک شنبه 14 دی 1393, 08:00 صبح
اگر هدفتون بازی سازی برای اندروید هست همون بهتر که از NDK که از ++C هست استفاده کنید
اما اگه میخواید برنامه بنویسید خوب جاوا رو باید تا حد خوبی بلد باشید اما بسیاری از دستورات توی اندروید دستورات کتابخانه های خود فریموورک اندروید هستش و آشنایی ابتدایی و کلی نسبت به جاوا کفایت میکنه. و دستوراتی مثل System .out,println توی اندروید کاربردی نداره

ali_khodayar
یک شنبه 14 دی 1393, 08:06 صبح
یه سری به این تاپیک بزن مطالب خوبی در مورد شروع اندروید داره
http://barnamenevis.org/showthread.php?480107-%D8%B4%D8%B1%D9%88%D8%B9-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF

shrekgame
یک شنبه 14 دی 1393, 11:21 صبح
ممنون اون تاپیک بیشتر سر در گمم کرد هرکی یه چیزی میگفت .
من وقتی میخام چیزیو یاد بگیرم باید همشو بلد باشم ولی نمیدونم اصلا جاوا تو اندروید کاربرد داره یا نه فقط قوانیتش بر پایه ی جاواست ؟ اصول برنامه نویسیو همه چیو بلدم به نظرتون 1ماه با حاوا کار کنم کافیه ؟
.
راستی بازی سازی با انجین انجام میدم انجین انریل
یه سوالدیگههم همین ndk هست دقیقا چیه ؟ تاحالا نشنیدگ کسی باهاشکار کنه یا اموزش خوبی هم ازش ندیدم از سی پلاس مستقیم برای اندروید استفاده میکنه ؟
کلا میشه بگین از چه چیزای جاوا تو اندروید استفاده میشه ؟ بخش های اخر کتاب سی پلاس مثلا در مورد قالب ها یا لیست ها یا وکتور هاست مطمئنا جاوا هم همینارو داره ایا اینا تو اندروید استفاده میشن ؟

#root#
یک شنبه 14 دی 1393, 12:27 عصر
سلام
به نظرم این مباحث نیازه :

Lesson 1: Java Basics

 Introduction
 Java programming language
 Java Virtual Machine
 JDK and JRE
 Setting up your machine for Java programming
 Hello World in Java
 Using a text Editor
 Using an IDE
 Java Primitive Data Type
 Naming
 Arrays
 Control Flow
 If/Else and Switch
 Switch statement
 While loop
 For Loop


Lesson 2: Object Oriented Programming

 Introduction
 Object Oriented Programming
 Objects
 Classes
 Inheritance
 Interface
 Access Modifiers
 Constructors
 Method overriding and overloading
 Polymorphism


Lesson 3: Java Topics

 Introduction
 Java Collections
 Interfaces
 Implementations
 Enumerated types
 Serialization
 Deserializing

فایل pdf این عناوین (http://s5.picofile.com/file/8161559418/Java_Fundamentals_for_Android_Development_Course_O utline.pdf.html)

lastcoder
یک شنبه 14 دی 1393, 18:19 عصر
ممنون اون تاپیک بیشتر سر در گمم کرد هرکی یه چیزی میگفت .
من وقتی میخام چیزیو یاد بگیرم باید همشو بلد باشم ولی نمیدونم اصلا جاوا تو اندروید کاربرد داره یا نه فقط قوانیتش بر پایه ی جاواست ؟ اصول برنامه نویسیو همه چیو بلدم به نظرتون 1ماه با حاوا کار کنم کافیه ؟
.
راستی بازی سازی با انجین انجام میدم انجین انریل
یه سوالدیگههم همین ndk هست دقیقا چیه ؟ تاحالا نشنیدگ کسی باهاشکار کنه یا اموزش خوبی هم ازش ندیدم از سی پلاس مستقیم برای اندروید استفاده میکنه ؟
کلا میشه بگین از چه چیزای جاوا تو اندروید استفاده میشه ؟ بخش های اخر کتاب سی پلاس مثلا در مورد قالب ها یا لیست ها یا وکتور هاست مطمئنا جاوا هم همینارو داره ایا اینا تو اندروید استفاده میشن ؟

NDK یا Native Develpment Kit (کیت توسعه مقیم یا محلی) هسته سیستم عامل اندروید توسط زبان ++C نوشته شده است که شما با استفاده از NDK میتونید استفاده بهتری از توابع گرافیکی، سخت افزاری داشته باشید همچنین همه اینو میدونیم سرعت اجرای برنامه هایی که با ++C نوشته می شوند از جاوا بیشتره پس برای ساخت گیم خیلی حیاتی هست این موضوع

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

storm_saeed
یک شنبه 14 دی 1393, 19:24 عصر
ممنون اون تاپیک بیشتر سر در گمم کرد هرکی یه چیزی میگفت .
من وقتی میخام چیزیو یاد بگیرم باید همشو بلد باشم ولی نمیدونم اصلا جاوا تو اندروید کاربرد داره یا نه فقط قوانیتش بر پایه ی جاواست ؟ اصول برنامه نویسیو همه چیو بلدم به نظرتون 1ماه با حاوا کار کنم کافیه ؟
.
راستی بازی سازی با انجین انجام میدم انجین انریل
یه سوالدیگههم همین ndk هست دقیقا چیه ؟ تاحالا نشنیدگ کسی باهاشکار کنه یا اموزش خوبی هم ازش ندیدم از سی پلاس مستقیم برای اندروید استفاده میکنه ؟
کلا میشه بگین از چه چیزای جاوا تو اندروید استفاده میشه ؟ بخش های اخر کتاب سی پلاس مثلا در مورد قالب ها یا لیست ها یا وکتور هاست مطمئنا جاوا هم همینارو داره ایا اینا تو اندروید استفاده میشن ؟
در کل به خاطر cross platform بودن انجین ها خیلی تفاوتی نداره مثلا کسی که با یونیتی بازی میسازه خیلی به مفاهیم جاوا و اندروید کاری داشته باشه
ولی یکم بخوایم دقیق تر بشیم
کلا اندروید این شکلیه
127257

اگه با لینوکس کار کرده باشید UI اش توسط یه برنامه دیگه رویه خود هسته سوار میشه تو اندروید هم به همین صورته کلا اون آبی هایی که تو عکس میبینی مربوط به بخش ظاهری اندرویده و برای توسعه بهتر اونو بر پایه جاوا زدن پس اندرویدم از 90 درصد قابلیت های جاوا استفاده کرده اون 10 درصدیم که استفاده نکرده به خاطر dalvik و art هست که اومدن ماشین مجازی شخصی خودشون رو زدن البته در اصل هر چی که تو جاوا ورژن 1.7 به قبل باشه تو اندرویدم هست و به غیر از کتابخونه های گرافیکی جاوا
حالا شما که هدفتون بازی سازیه
وقتی شما با انجین بازی میسازید برای اندروید مثل یونیتی ,بازم یه بخش هایی به جاوا تبدیل میشه دلیلشم اینه برا ارتباط با UI مجبوره از جاوا استفاده کنه . ولی اینکار رو خود انجین انجام میده و شما نیازی به بلد بودن جاوا ندارید
ولی اندروید یه بخش opengl es داره که این cpp هستش و درواقع انجین و فریم ورک های بازی سازی که بر پایه جاوا هستن مثل Libgdx بخش رندر کردن که نیاز به سرعت داره رو از cpp استفاده میکنن و از JNI
(که یعنی java native interface)برای صدا زدن متود های cpp در جاوا استفاده میکنن پس از نظر سرعت و کیفیت افتی ندارن
کد زدن با cpp بهترین سرعت رو میده ولی وقت بیشتری میگیره مخصوصا سر اشاره گر ها
کد زدن با جاوا راحتی , شی گرایی واقعی و هزاران دلیل که کد زدن رو لذت بخش میکنه رو میده
کد زدن با اسکریپت مثل انجین یونیتی زمان رو براتون کاهش میده ولی پرفرمنس رو خراب میکنه
حالا شما اگه میخواید با جاوا بازی بسازید مثلا با libgdx به کل مباحث جاوا نیاز دارید همچنین یه سری مفاهیم کلی از اندروید . من خودم برا بازی های 2 بعدی از یونیتی و libgdx استفاده میکنم بیشترم با libgdx چون خیلی قوی تره
ولی برای بازی های 3 بعدی مجبورم با انریل کار کنم چون هم قویه هم cpp هست .
همه ی این انیجین ها هم cross platform هستن و مثلا برای ios نیاز به دونستن swift مثلا ندارید

shrekgame
دوشنبه 15 دی 1393, 10:54 صبح
مر سی
من نگفتم برای بازی سازی میخام بلد باشم که گفتم کار اصلیم بازی سازیه در کنارش برنامه نویسی اندروید یعنی نرم افزار سازی هم هست . در کل چون کار اصلیم بازیه باید سی ++ رو یاد بگیرم و نباید وقتمو بذارم سر جاوا و... پس اینطور که معلومه نیاز زیادی به جاوا نیست