Gönderen Konu: mobil programlama için hangi dil?  (Okunma sayısı 53836 defa)

0 Üye ve 2 Ziyaretçi konuyu incelemekte.

« : »
Mesleğim bilgisayar üzerine olmamasına rağmen 10 yıldır webtasarımcılığı yapmaktayım. Uzman seviyesinde php,mysql,css3,html5 ve javascript bilgim var. Bugüne kadar web için kodlamalar yaptığım için başka bir dil öğrenmeye gerek duymadım. Akıllı telefonlar günümüzde yaygınlaşınca bende de bir merak konusu oldu. iOS ya da Android işletim sistemli mobil cihazlar için yapılan uygulamalar hangi dille yazılıyor, bu işin temeli nedir, nereden başlamalıyım gibi bazı sorular kafama takıldı. İnternetten baktığım zaman bir sürü bilgi kirliliği mevcut. Herkesin tavsiyesi farklı yönde. Bu işlerle içli dışlı olan arkadaşlar bana kademe kademe nereden başlayacağımı anlatabilir mi?


İlginiz için şimdiden teşekkür ederim.

« Yanıtla #1 : »
Aslında bu iş için ehil arkadaşlar daha iyi yorum yapacaktır fakat yararlanabileceğin asıl kaynaklar şuralar:
http://developer.android.com/develop/index.html
https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/chapters/Introduction.html

Temelde C ve Java bakman gereken diller şu an sanırım. Fakat artık rüzgâr diğer yönlerden de esiyor. Yorumlanan dilleri de kullanma imkânın olabilir. IOS için yorumlayıcı gömdüğün sürece sorun olmaz deniyor:
http://stackoverflow.com/a/3950134
Ayrıca diğer diller için de güzel bir açıklama var orada.

Android tarafı içinse şu var mesela:
http://stackoverflow.com/questions/101754/is-there-any-way-to-run-python-on-android
http://kivy.org/#home

Dediğim gibi bu işin pratiğinde olan arkadaşlar gördüklerinde daha güzel yardımcı olacaklardır.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?

Böylece yalan, dünyanın düzenine dönüştürülüyor.

« Yanıtla #2 : »
Android için öncelikle Java öğrenmek gerekiyor. Temel seviyede Java'yı öğrendikten sonra Android'e direkt geçiş yapabilirsiniz. Ide olarak Eclipse kullanılıyor, ayrıca Motorola'nın Motodev olarak hazırladığı bir geliştirme ortamı da varmış fakat hiç kullanmadım. Java'dan sonra Android'e geçiş yaptığınızda bir çok videolu eğitim zaten sizi bekliyor olacak. Youtube'da çokça var bunlardan. Aynı şey Java için de geçerli gerçi. Android geliştirme Windows, Linux ve MacOSX'de yapılabilmekte fakat İOS için bir Mac bilgisayar ve bir iPhone telefon şart diyebilirim. Bu yüzden Android ile başlamanızı tavsiye ederim. Her iki platformda geliştirme yapanlar da Android için uygulama geliştirmenin IOS'dan daha kolay olduğunu söylüyorlar.

Yazılımla uzun süredir uğraşıyor olmanız, Java ve Android'e kısa zamanda ısınmanızda oldukça yarar sağlayacaktır kanısındayım. Ben yazılımla ilgili hiç bir geçmişim olmamasına rağmen bir kaç aydır vakit buldukça ilgileniyorum fakat henüz markette bir uygulamam yok. Sadece iş yerinde bana kolaylık sağlayan bir uygulama yazdım kendime o kadar. Fakat kısmetse Aralık ayında ilk uygulamam markette olacak. Henüz konsept aşamasında. :)

Başlangıç için hangi kaynakları kullanacağınıza tam olarak karar veremezseniz elimdeki kaynakları sizinle paylaşabilirim.

Ek: @heartsmagic C'ye de bakman gerekir demiş ama sadece Java öğrenmen yeterli. Java zaten C temelli olduğundan bir yandan da C'ye ısınmış oluyorsun ama Android için aktif olarak C değil Java kullanmak gerekiyor. Java öğrendikten sonra Android'in geliştirici bölümünden başlamak yerine de Youtube'da bulunan İngilizce eğitim videolarını tavsiye ederim. Bu kadar yazdıktan sonra aslında somut kaynaklar da yazsam fena olmaz.

Öncelikle Java için şu videolar oldukça yararlı;

Mimar Aslan - Temel Java Eğitim Dersleri; http://www.youtube.com/playlist?list=PL9A2D6C9F58E88E14

Ortogon - Java ile Programlamaya Giriş; http://www.youtube.com/playlist?list=PL3F9EE70746FAEC24&feature=plcp

buradaki konuları bir kitap ile de pekiştirebilirsin.

Temel Java bittikten sonra Android için;

Programlama Defteri - Android Programlama; http://www.youtube.com/playlist?list=PLA8AD741683E1AD76&feature=plcp

TheNewBoston - Android Application Development Tutorials; http://www.youtube.com/course?list=EC2F07DBCDCC01493A&feature=plcp (200 kısa video-özellikle tavsiye ederim)

Buradaki videolarla birlikte Android konusunda yazılmış kitaplardan da temin edebilirsin. Bu eğitimlerden sonra ilk uygulamalarını yazmış olacaksın. Daha sonra ise artık kaynağın Android Developer sitesi olacaktır.

Ayrıca Youtube'da bulunan OrtogonICT, mybringback ve thenewboston kanallarını özellikle tavsiye ederim. Özellikle İngilizce kanallar eğitim videoları bakımından çok zenginler.

« Yanıtla #3 : »
Android için öncelikle Java öğrenmek gerekiyor. Temel seviyede Java'yı öğrendikten sonra Android'e direkt geçiş yapabilirsiniz. Ide olarak Eclipse kullanılıyor, ayrıca Motorola'nın Motodev olarak hazırladığı bir geliştirme ortamı da varmış fakat hiç kullanmadım. Java'dan sonra Android'e geçiş yaptığınızda bir çok videolu eğitim zaten sizi bekliyor olacak. Youtube'da çokça var bunlardan. Aynı şey Java için de geçerli gerçi. Android geliştirme Windows, Linux ve MacOSX'de yapılabilmekte fakat İOS için bir Mac bilgisayar ve bir iPhone telefon şart diyebilirim. Bu yüzden Android ile başlamanızı tavsiye ederim. Her iki platformda geliştirme yapanlar da Android için uygulama geliştirmenin IOS'dan daha kolay olduğunu söylüyorlar.

Yazılımla uzun süredir uğraşıyor olmanız, Java ve Android'e kısa zamanda ısınmanızda oldukça yarar sağlayacaktır kanısındayım. Ben yazılımla ilgili hiç bir geçmişim olmamasına rağmen bir kaç aydır vakit buldukça ilgileniyorum fakat henüz markette bir uygulamam yok. Sadece iş yerinde bana kolaylık sağlayan bir uygulama yazdım kendime o kadar. Fakat kısmetse Aralık ayında ilk uygulamam markette olacak. Henüz konsept aşamasında. :)

Başlangıç için hangi kaynakları kullanacağınıza tam olarak karar veremezseniz elimdeki kaynakları sizinle paylaşabilirim.

Ek: @heartsmagic C'ye de bakman gerekir demiş ama sadece Java öğrenmen yeterli. Java zaten C temelli olduğundan bir yandan da C'ye ısınmış oluyorsun ama Android için aktif olarak C değil Java kullanmak gerekiyor. Java öğrendikten sonra Android'in geliştirici bölümünden başlamak yerine de Youtube'da bulunan İngilizce eğitim videolarını tavsiye ederim. Bu kadar yazdıktan sonra aslında somut kaynaklar da yazsam fena olmaz.

Öncelikle Java için şu videolar oldukça yararlı;

Mimar Aslan - Temel Java Eğitim Dersleri; http://www.youtube.com/playlist?list=PL9A2D6C9F58E88E14

Ortogon - Java ile Programlamaya Giriş; http://www.youtube.com/playlist?list=PL3F9EE70746FAEC24&feature=plcp

buradaki konuları bir kitap ile de pekiştirebilirsin.

Temel Java bittikten sonra Android için;

Programlama Defteri - Android Programlama; http://www.youtube.com/playlist?list=PLA8AD741683E1AD76&feature=plcp

TheNewBoston - Android Application Development Tutorials; http://www.youtube.com/course?list=EC2F07DBCDCC01493A&feature=plcp (200 kısa video-özellikle tavsiye ederim)

Buradaki videolarla birlikte Android konusunda yazılmış kitaplardan da temin edebilirsin. Bu eğitimlerden sonra ilk uygulamalarını yazmış olacaksın. Daha sonra ise artık kaynağın Android Developer sitesi olacaktır.

Ayrıca Youtube'da bulunan OrtogonICT, mybringback ve thenewboston kanallarını özellikle tavsiye ederim. Özellikle İngilizce kanallar eğitim videoları bakımından çok zenginler.


Öncelikle ilgin için teşekkür ederim. iOS uygulamaları geliştirebilmek için zaten iphone5 siparişi verdim. Yani bu işin üstüne baya düşeceğim. Android içinse dediğiniz kaynaklar gerçekten işime yarayacak cinsten. Ama bunlardan önce başlangıç seviyesi için bir kitap alsam fena olmayacak sanki. :)

« Yanıtla #4 : »
Temelde C ve Java bakman gereken diller şu an sanırım. Fakat artık rüzgâr diğer yönlerden de esiyor. Yorumlanan dilleri de kullanma imkânın olabilir. IOS için yorumlayıcı gömdüğün sürece sorun olmaz deniyor:
Sanırım C++ ve Java demek istediniz ya da Objective C ve Java?

« Yanıtla #5 : »
Öncelikle ilgin için teşekkür ederim. iOS uygulamaları geliştirebilmek için zaten iphone5 siparişi verdim. Yani bu işin üstüne baya düşeceğim. Android içinse dediğiniz kaynaklar gerçekten işime yarayacak cinsten. Ama bunlardan önce başlangıç seviyesi için bir kitap alsam fena olmayacak sanki. :)

Rica ederim. Kitap olarak ben ''Kim Korkar Java'dan'' adlı kitapla başladım. Fakat açıkçası videolu eğitimler bana daha çok hitap ettiğinden kitabın üzerine fazla düşmedim. Fakat yine de bir ara kitabı baştan sonra bitirme düşüncesindeyim. Aslında hazır Java'ya başlamışken biraz ilerletmeni tavsiye ederim. Ben konuları bitirdikten sonra direk Android'e geçiş yaptım fakat Java ve özellikle algoritma oluşturmada çok eksiğim var. Bu yüzden tekrar Java'ya başlayacağım. Hatta basit bir kaç masaüstü uygulaması da yapma planım var.

Android içinse Nizar Öğütmen'in Android kitabını almıştım fakat yine bu kitap beni tatmin etmemiş videolu eğitimlere devam etmiştim. :) Şimdi yeni çıkan Aysan Ethem Narman'ın Android Programlama kitabını sipariş verdim. Özellikle konuları ve örnekleri ilgimi çekti. Pdf olarak şu kitabı da bulabilirsin; Professional Android 2 Application Development.

İOS konusunda da yine şu eğitimi tavsiye ederim; http://www.cizgi-tagem.org/e-kampus/education.aspx?id=38

Ayrıca başlangıç için Android yerine İOS seçmenin altında yatan sebebi merak ettim.

« Yanıtla #6 : »
Öncelikle ilgin için teşekkür ederim. iOS uygulamaları geliştirebilmek için zaten iphone5 siparişi verdim. Yani bu işin üstüne baya düşeceğim. Android içinse dediğiniz kaynaklar gerçekten işime yarayacak cinsten. Ama bunlardan önce başlangıç seviyesi için bir kitap alsam fena olmayacak sanki. :)

Rica ederim. Kitap olarak ben ''Kim Korkar Java'dan'' adlı kitapla başladım. Fakat açıkçası videolu eğitimler bana daha çok hitap ettiğinden kitabın üzerine fazla düşmedim. Fakat yine de bir ara kitabı baştan sonra bitirme düşüncesindeyim. Aslında hazır Java'ya başlamışken biraz ilerletmeni tavsiye ederim. Ben konuları bitirdikten sonra direk Android'e geçiş yaptım fakat Java ve özellikle algoritma oluşturmada çok eksiğim var. Bu yüzden tekrar Java'ya başlayacağım. Hatta basit bir kaç masaüstü uygulaması da yapma planım var.

Android içinse Nizar Öğütmen'in Android kitabını almıştım fakat yine bu kitap beni tatmin etmemiş videolu eğitimlere devam etmiştim. :) Şimdi yeni çıkan Aysan Ethem Narman'ın Android Programlama kitabını sipariş verdim. Özellikle konuları ve örnekleri ilgimi çekti. Pdf olarak şu kitabı da bulabilirsin; Professional Android 2 Application Development.

İOS konusunda da yine şu eğitimi tavsiye ederim; http://www.cizgi-tagem.org/e-kampus/education.aspx?id=38

Ayrıca başlangıç için Android yerine İOS seçmenin altında yatan sebebi merak ettim.


Başlangıç için iOS u tercih etmedim. Android zaten elimde mevcut. Ama iOS yoktu. O da elimin altında olsun istedim. :)

« Yanıtla #7 : »
@aurora, benim işin içine C'yi katma nedenim soruda IOS'un da olmasından dolayı. Zira sen gördüğüm kadarıyla sadece Android'e yönelmiş durumdasın :)

@hckr'ın da düzelttiği üzere IOS'un temel dili Objective C imiş. Fakat Apple yine yanlış görmediysem son zamanlarda bu konudaki sınırlamaları kaldırmış durumda. non-objective C/C++ da kullanılabiliyormuş. Bir önceki iletimde de söylediğim gibi farklı dillere açık durumdaymış kendisi. @hckr'ın düzeltmesi temel anlamda doğru, ancak pratikte galiba şu an birçok dil kullanılabiliyor. Ortak olan Java öğrenilip devam edilebilir belki. Fakat Android tarafı da artık C'ye destek verecek diye hatırlıyorum.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?

Böylece yalan, dünyanın düzenine dönüştürülüyor.

« Yanıtla #8 : »
@hckr'ın da düzelttiği üzere IOS'un temel dili Objective C imiş. Fakat Apple yine yanlış görmediysem son zamanlarda bu konudaki sınırlamaları kaldırmış durumda. non-objective C/C++ da kullanılabiliyormuş. Bir önceki iletimde de söylediğim gibi farklı dillere açık durumdaymış kendisi. @hckr'ın düzeltmesi temel anlamda doğru, ancak pratikte galiba şu an birçok dil kullanılabiliyor. Ortak olan Java öğrenilip devam edilebilir belki. Fakat Android tarafı da artık C'ye destek verecek diye hatırlıyorum.
Android tarafı ek olarak C'ye değil C++'a destek veriyor.Sanırım bu yıl çıkartmışlardı C++ SDK'larını.Söylediğiniz doğru birçok dille uygulama geliştirilebiliyor şu anda biri de C# iOS ve Android için geliştirmeler yapılabiliyor(Mono projesi ile)
Ayrıca şu anda Embarcadero Delphi XE2 ve 3 ile  iOS'a uygulama geliştirilebiliyor(Firemonkey ile).Ayrıca yol haritalarında Linux ve Android de bulunuyor.
http://xamarin.com/monotouch
http://xamarin.com/monoforandroid
« Son Düzenleme: 09 Kasım 2012 - 15:33:21 Gönderen: hckr »

« Yanıtla #9 : »
İlgili düzeltme için tekrar teşekkürler @hckr. Bunlar benim ön malumatlarım ve etraftan gördüklerim. En güzel önerileri yine işin içinde olan arkadaşlar yani sizler verebilirsiniz :)
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?

Böylece yalan, dünyanın düzenine dönüştürülüyor.

« Yanıtla #10 : »
C ve C++ ı ayrı tutmak ne kadar anlamlı orasını da tartışmak gerekir tabii, çünkü C++ derleyicileri C ile derleyebilirler. Bir diğer konu ise Objective C denilen dil C'den bağımsız değil, sadece C'ye ek bir kaç özellik ile sözdizimdeki biraz değişiklik, çalışma zamanı (run time) ve nesne yönelimli hale getirilmiş halidir. Yani evet aslında tamamen farklı gibi görünüyor bu özellikleri söyleyince fakat işin içine girince öyle değil maalesef.


Objective C çatıları (framework) olduğu gibi göstericiler ile çalışıyor  (C'de pointer olarak bildiklerimiz =)) ve ANSI C ile yazılan tüm kodları derleyebiliyor.


Sadece anekdot düşmek istedim.


@MaTh1ens, ilk sorunuz için ise şu anda platformlar ortak bir çatı altında toplanmaya çalışıyor aslında. En bilindik ya da benim bildiğim diyeyim bir örnek mesela şudur, incelemenizi öneririm;


http://phonegap.com


Bu nedenle hemen hemen tüm gelişmiş mobil işletim sistemleri sizin uzmanlık alanınız olan html5, javascript, css vs gibi web'e destek vererek bu araçlar ile native uygulama geliştirmeye destek veriyor.


Yani siz bunlarda uzmansanız pek başka bir şeye ihtiyacınız olmayabilir, iyi araştırmanızı öneririm. Aşağıdaki bağlantıların kalitesinden pek emin değilim fakat bu alandaki çalışmalar olduğunu belirtebilmek için ayrıca bağlantılar paylaşmak istedim. Örneğin BB'ninki kendi resmi sitesindendir.


http://www.youtube.com/watch?v=uVqp1zcMfbE
http://www.apress.com/programming/html/9781430240389
http://www.amazon.com/Beginning-Nokia-Apps-Development-Professionals/dp/1430231777
https://developer.blackberry.com/html5/
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
 Derken ölüm bile bu nasıl dünya?
 Benden ölüm dile, batıyor gün yine
 Burası dünya?

« Yanıtla #11 : »
kısaca ios için objective-c, diğerleri için android.
apple ipod ve iphone de objective-c yi kullanıyor.
diğerleri android.
android için sanırım temel düzeyde java bilgisine ihtiyaç var.

« Yanıtla #12 : »
Evet şu anda Java bilinmesi gerekiyor fakat Native için C/C++ desteği de sunuluyor.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
 Derken ölüm bile bu nasıl dünya?
 Benden ölüm dile, batıyor gün yine
 Burası dünya?

« Yanıtla #13 : »
Neyse ufak bir not düşeyim ; sl4a ile android üzerinde python da kullanabiliyorsunuz :)

http://code.google.com/p/android-scripting/

ama ciddi anlamda bi şeyler düşünüyorsanız java şart gibi duruyor  :)
Hırs , azim , tevekkül ...

www.mehmetvahit.net

« Yanıtla #14 : »
Konuya son cevap 1 sene evvel yazılmış. Forumda arama yaparken rast geldim. Konu eski olsa da faydalı bilgiler ve faydalı adresler vermiş arkadaşlar. Teşekkür ediyorum.

« Yanıtla #15 : »
Konuyu unutmuşum ben :) Şuanda ios programlama için bir kurs ile anlaştım. Mobil programlamaya ios ile başlayacağım gibi görünüyor :)

« Yanıtla #16 : »
@gokhanyildiz

Android programlama ile uğraştığım zamandan beri öğrendiklerimi sizinle paylaşabilirim.

Bir Android uygulaması oluşturmak iki ana beceriye / dille gelir: Java ve Android. Java, Android'de kullanılan dildir; ancak Android kısmı, uygulamayı tasarlamak, Android kavramlarını öğrenmek ve kavramları Java ile programlı olarak kullanmak için XML öğrenmeyi kapsar.

Java ve XML öğrendikten sonra (XML, alışması gerçekten kolaydır ve Java ile önceden öğrenmek yerine uygulamanızı programlarken dili öğrenmelisiniz), bu ikisini de Android'i kullanarak nasıl bağlayacağınızı öğrenmeniz gerekir prensipler.

Tecrübeli bir kod çözücü için, Java öğrenmeyi öneririm. Burada kısayol yok, yalnızca Java öğrenmek zorundasınız.

Şimdi sizin için, Eclipse'in (Entegre Geliştirme Ortamı veya IDE for Java) ve Java Development Kit'in (JDK) nasıl kurulacağına ilişkin temel fikri edinmek için YouTube öğreticilerini öneriyorum. Ayrıca, döngüler ve if ifadeleri gibi Java kavramlarının ardındaki sözdiziminin temel fikrini elde etmeye yardımcı olur. Ancak, o andan itibaren, çok temel öğrendikten sonra YouTube öğreticilerini bir kitap ya da bir ders lehine kesmeyi öneriyorum. online dizi.

Çevrimiçi bir kurs satın alabilir ya da ücretsiz bir şeyler arıyorsanız bunu görebilirsiniz.

Şimdi, Android Studio ve Eclipse'e gelmek: Android Studio ve Eclipse, IDE'ler veya Entegre Geliştirme Ortamları'dır. Kodu çalıştıran diğer programları kullanarak Java kodlayabilirsiniz, ancak şahsen bunlarla pek fazla aşina değilim ve bunları yeni başlayanlara tavsiye etmem.

IDE'ler, derlemek ve çalıştırmak için bazı kod yazmak için bazı kodlar yazmak zorunda kalacağınız diğer uygulamalardan farklı olarak, derleyip yalnızca bir düğmeye basarak kodunuzu çalıştırır. Android SDK'yi Eclipse ile kurmanız gerekir, ancak yükleme işleminin tamamı Android geliştiricisinin web sitesinde derinlemesine ele alınmıştır.

Uygulamam tamamlamak neredeyse iki ay sürdü. Ben başladığımda, Big Nerd Ranch kitap okurken ve kitapta uygulamaları yapmak için öğreticiler aşağıdaki günde 4 + saat geçirdim. Gerçekten kendi uygulamanın yapıldığı zamana kadar uçtum çünkü veri tasarrufu gibi küçük bir sorunun çözümü, bana yeni olduğundan bu yana malzemeyi tam olarak anlamam biraz zaman aldı.

Yaz tatilinde olduğumdan ve yapacak başka bir şeyim olmadığı için bunu yapmak için biraz zaman vardı. Sıkıştığım her soruyu aramak için Google'ı kullandım, bu da Android için yeniydi çünkü çok zaman oldu. Üst sonuçlar genellikle Stack Overflow'dı, ancak Stack Overflow'un benim için bir cevap bulamadığında, / r / androiddev Subreddit'i yayınladım ve son derece yardımcı oldular.

« Yanıtla #17 : »
@mayur


Konuyu acali 5 yil olmus. 5 yilda cok sey degisti diyebilirim. 4.5 aydir uzerinde calistigim bir proje icin .net platformunu kullanmam gerekti. 4.5 ayin 1 ayini .net ve c# uzerinde basit uygulamalarla pratik yapmak uzerine gecirdim. Sonuc olarak projenin sonuna yaklastim diyebilirim. Bu projede bir de mobil uygulama gerekti. Bunun icinde android & java dunyasinda yuzeysel bir giris yaptim diyebilirim. Ihtiyacimi karsilayacak seviyede, web api ile haberlesen ve telefonun nfc ozelligini kullanan bir mobil uygulama hazirladim. PHP den sonra .net ve android ile proje yapmam biraz da nasil bir yol izlemem gerektigini gosterdi bana. Mantigi kavradiktan sonra programlamanin pek te zor bir yani yok. Sadece ne zaman nereye bakmam gerektigini yani bir sorunla karsilastigimda cevabini nerelerde bulabilecegimi biliyorum. Bu da hizlica sonuca ulasmami sagliyor.


Ayrica verdiginiz yanit icin de tesekkur ederim.

« Yanıtla #18 : »
@mayur Tesadüfler insanları bir araya getirir. Bu vesile ile aramıza hoş geldin.