Android programlama nereden başlamalı ?

  • Konuyu başlatan Konuyu başlatan meilo34
  • Başlangıç tarihi Başlangıç tarihi

meilo34

Öğrenci
Katılım
7 Aralık 2011
Mesajlar
12
Reaksiyon puanı
0
Puanları
0
Temel olarak az çok programlama bilgim var ve bu android diline aşırı bir ilgim var.Kafamdaki soru şu ; önce java mı öğrenmeli yoksa android kitapları alsam kod yazmak için yeterli olur mu.Önce kitap alarak başlamak istiyorum öneriniz varsa alabilirim.
İlgilenen arkadaşlara şimdiden teşekkürler...
 

VincentVega

Profesör
Katılım
29 Ağustos 2007
Mesajlar
2,663
Reaksiyon puanı
3
Puanları
218
Javadan başlaman senin için yeterli olacaktır şimdilik
 
Katılım
31 Aralık 2007
Mesajlar
17,486
Reaksiyon puanı
189
Puanları
243
Temel programlama bilgisi yetmez. OOP'yi yalayıp yutman lazım. Java demek OOP demek. Android için de C++ veya Java kullanabilirsin. Ama performanslı yazılımlar için C++ en iyi seçim olur. Java ile yazacağın yazılımlar yazımda pratiktir ama performans açısından yerlerdedir...
 

meilo34

Öğrenci
Katılım
7 Aralık 2011
Mesajlar
12
Reaksiyon puanı
0
Puanları
0
biraz daha açsak bu OOP yi.ayrıca şunu anlamadım c++ ile android geliştiriliyor mu? yani benim bildiğim sadece java dili kullanılıyor.bir bunlar için önerebilceğiniz bir kaynak varsa söyler misiniz
 
Katılım
31 Aralık 2007
Mesajlar
17,486
Reaksiyon puanı
189
Puanları
243
Android cihazlarda C++'da kullanabilirsiniz, Java'da. Fakat Java yazılımları VM üzerinde çalıştığı için performansı yerlerdedir. C++ yazılımları ise direk CPU üzerinde çalışır bu yüzden performans sıkıntıları olmaz. OOP'yi buradan kısaca anlatmak olmaz. Internet'de OOP ve alt konuları için bir sürü makale bulabilirsiniz...
 

VincentVega

Profesör
Katılım
29 Ağustos 2007
Mesajlar
2,663
Reaksiyon puanı
3
Puanları
218
nesneye dayalı programlama öğrenmen gerekiyor senin anlayacağın
 

meilo34

Öğrenci
Katılım
7 Aralık 2011
Mesajlar
12
Reaksiyon puanı
0
Puanları
0
araştırdığım heryerde android programlamayı java üzerinden yapmışlar.Bu konuda biraz kafam karıştı.ikincisi performans olayını çok iyi anladım fakat c++ sadece windows platformunda çalışmıyormuydu ben mi yanlış biliyorum? Yani bu yüzden java üzerindenden programlıyorlar biliyorum serbest bir dil olduğu için

--- Mesaj Güncellendi ---

@checkirge oop kısmını da anladım.cihazın donanımını kullanabilmek için sanırım.ama dile hakim olmadan android geliştirme kitabı almanın bir anlamı yok sanırım
 
Katılım
31 Aralık 2007
Mesajlar
17,486
Reaksiyon puanı
189
Puanları
243
araştırdığım heryerde android programlamayı java üzerinden yapmışlar.Bu konuda biraz kafam karıştı.ikincisi performans olayını çok iyi anladım fakat c++ sadece windows platformunda çalışmıyormuydu ben mi yanlış biliyorum? Yani bu yüzden java üzerindenden programlıyorlar biliyorum serbest bir dil olduğu için

--- Mesaj Güncellendi ---

@checkirgeoop kısmını da anladım.cihazın donanımını kullanabilmek için sanırım.ama dile hakim olmadan android geliştirme kitabı almanın bir anlamı yok sanırım

OOP'nin cihaz donanımını kullanmak ile alakası yok. O olay tamamen SDK'nın yeteneği. OOP programlama türüdür denilebilir. Bir nevi gerçek hayattan alıntılarla uyarlanmış ve projenin bakım maliyeti ve karmaşıklığını azaltan bir yapıdır.

Bağımsız dil diyorsan inan bana C++'dan bağımsızını bulamazsın :) C++ her türlü cihaz ve her türlü işletim sistemini destekler. C++ ile ister WP'a iste Android'e istersen de iOS'a yazılım geliştirebilirsin. Ayrıca masaüstü yazılımcılıkta da çoklu platform desteğini (Windows, Linux, OS X) verebilen en iyi dil. Ama java ile karşılaştırınca Java, C++'ın yanında bebek oyuncağı kalır, orası ayrı :)
 

annttiigs

Profesör
Katılım
7 Şubat 2007
Mesajlar
2,589
Reaksiyon puanı
24
Puanları
218
OOP'nin cihaz donanımını kullanmak ile alakası yok. O olay tamamen SDK'nın yeteneği. OOP programlama türüdür denilebilir. Bir nevi gerçek hayattan alıntılarla uyarlanmış ve projenin bakım maliyeti ve karmaşıklığını azaltan bir yapıdır.

Bağımsız dil diyorsan inan bana C++'dan bağımsızını bulamazsın :) C++ her türlü cihaz ve her türlü işletim sistemini destekler. C++ ile ister WP'a iste Android'e istersen de iOS'a yazılım geliştirebilirsin. Ayrıca masaüstü yazılımcılıkta da çoklu platform desteğini (Windows, Linux, OS X) verebilen en iyi dil. Ama java ile karşılaştırınca Java, C++'ın yanında bebek oyuncağı kalır, orası ayrı :)
hepsine katılıyorum ancak; şu anda piyasada dediğiniz gibi c ve c++ ile yazılmış app çok çok az. NDK kullanımını bahsediyorsunuz sanırım ?
 

meilo34

Öğrenci
Katılım
7 Aralık 2011
Mesajlar
12
Reaksiyon puanı
0
Puanları
0
@cgrszone hmm anladım gibi.peki c++ ile c# arasında ki fark nedir? bir de c++ öğrenmek için nereden başlanmalı?
 
Katılım
31 Aralık 2007
Mesajlar
17,486
Reaksiyon puanı
189
Puanları
243
hepsine katılıyorum ancak; şu anda piyasada dediğiniz gibi c ve c++ ile yazılmış app çok çok az. NDK kullanımını bahsediyorsunuz sanırım ?

Evet NDK (Android tarafında C++ kit'inin ismi böyle geçiyor sanırım :)) Bazı uygulamalarda java performans açısından sorun çıkardığı için C++'a taşıyan firmalar mevcut. Java ilk etapta işi elbette görecektir. Ama bildiğin üzere iyi bir Java yazılımı için OOP'yi yalayıp yutmak ve çıkarıp tekrar kodlayabilecek şekilde bilmek şart :)

@cgrszone hmm anladım gibi.peki c++ ile c# arasında ki fark nedir? bir de c++ öğrenmek için nereden başlanmalı?

C#'ın javadan pek farkı yok. O da VM üzerinde çalışır ve multiplatorm bir dildir. Tıpkı Java gibi. Ama javadan daha güncel olduğu için daha gelişmiş seçenekler ve kodlama teknikleri mevcuttur.

C++ bir çok programlama dilinin yaratılmasında esin kaynağı, ata bir dildir diye özet geçebiliriz sanırım :)
 

meilo34

Öğrenci
Katılım
7 Aralık 2011
Mesajlar
12
Reaksiyon puanı
0
Puanları
0
@annttiigs işte bende lafı oraya getirmeye çalışıyorum neden hep java dilinde yazıyorlar ?
 
Katılım
31 Aralık 2007
Mesajlar
17,486
Reaksiyon puanı
189
Puanları
243
@annttiigs işte bende lafı oraya getirmeye çalışıyorum neden hep java dilinde yazıyorlar ?

Java C++'a göre çok çok kolay da ondan :) Java'nın managed language olmasından kaynaklı bir çok şey üzerinde hazır. Memory management ile javada uğraşmazsın mesela. Garbage collection her şeyi senin için yapar :) Gerçi C++'ın da managed ve unmanaged diye 2 versiyonu var ama NDK'da nasıl kullanılıyor bir fikrim yok...
 

meilo34

Öğrenci
Katılım
7 Aralık 2011
Mesajlar
12
Reaksiyon puanı
0
Puanları
0
Off kafam iyiden karisti :) simdi bu c dili cok genis capli bir dil orasini anladim ama bu kadar fonksiyonu kaldirir mi bu android platformu yani sonucta onlar mobil cihaz.acaba bu yuzden java tercih edilmia olabilir mi ?
 
Katılım
31 Aralık 2007
Mesajlar
17,486
Reaksiyon puanı
189
Puanları
243
Off kafam iyiden karisti :) simdi bu c dili cok genis capli bir dil orasini anladim ama bu kadar fonksiyonu kaldirir mi bu android platformu yani sonucta onlar mobil cihaz.acaba bu yuzden java tercih edilmia olabilir mi ?

Genişletilebilir bir dil olması kafanı karıştırmasın :) C++ seni kullandığın kadarı ile zorlar. Kullanmadığın şey sistemi yormaz zaten. Java'nın dezavantajı VM üzerinde çalışıyor ve bu da gözle görülürcesine büyük performans kaybına sebep oluyor. Seni zorla C++'a yönlendirmeye çalışmıyorum elbette. Zaten ilk öğrenim açısından Java sana daha kolay gelecektir, çünkü java'nın swing kütüphaneleri içerisinde bir çok şeyi barındırıyor ve yazılım geliştirmede işini çok kolaylaştırır. C++'ı daha sonraki aşamalar için tercih edebilirsin. Şimdilik yeni başlayacaksan önce OOP'yi yala yut. Ardından temel java derslerine başla ve OOP bilgini ava üzerinde pekiştir. Ardından zaten rahatlıkla program yazabilir kıvama ulaşacaksın :)
 

meilo34

Öğrenci
Katılım
7 Aralık 2011
Mesajlar
12
Reaksiyon puanı
0
Puanları
0
Tmmdir mesaj alindi :) ben hemen bir java kitabi alip basliyorum.bu oop java kitaplarinda anlatilir degil mi :)
 

meilo34

Öğrenci
Katılım
7 Aralık 2011
Mesajlar
12
Reaksiyon puanı
0
Puanları
0
şu yüzden sormuştum orada konu içerikleri yazıyor.birde youtube dan felan izlemek iyi hoş da hep dağılıyor konular.kitapdan gitmek daha düzenli oluyor diye düşünüyorum
 

meilo34

Öğrenci
Katılım
7 Aralık 2011
Mesajlar
12
Reaksiyon puanı
0
Puanları
0
yinede çok sağol ilgilendiğin için.
 

osenakira

Öğrenci
Katılım
3 Nisan 2012
Mesajlar
2
Reaksiyon puanı
0
Puanları
0
andriod programlamaya bende fena sardım ve javada nesneye yönelik planlama biliyorum. direk videolardan başlayabilir miyim başka şeye gerek var mı ?
 

engerex

Dekan
Katılım
16 Ağustos 2008
Mesajlar
7,675
Reaksiyon puanı
26
Puanları
228
... Java yazılımları VM üzerinde çalıştığı için performansı yerlerdedir. C++ yazılımları ise direk CPU üzerinde çalışır bu yüzden performans sıkıntıları olmaz...
APK Android uygulamarı Google ın kendine göre modifiye ettiği java değil mi? Android için ntive uygulamalar nasıl çalışıyor?
 

engerex

Dekan
Katılım
16 Ağustos 2008
Mesajlar
7,675
Reaksiyon puanı
26
Puanları
228
C++ ile kodlanan neden Java Bytecode olsun? Hiç mantıklı geliyor mu :)
Android in iOS ve Symbina karşı en büyük dezavantajı uygulamalarının java olması yüzünden %30 gibi bir performans kaybına mahkum olduğu yönünde. O zaman böyle bir şey ortadan kalkıyor.
 
Üst