Apple uygulaması nasıl yapılır?

Herkese merhaba,

Bu yazım yaklaşık 15 gündür ilgilendiğim bu soru ile alakalı. Cevabı 3 parçada ele alırsak;

GİRİŞ:

Steve Jobs amcanın geliştiriciler için sunduğu bir imkan ile herkes Apple için ister iphone’larda ister ipod tocuh’larda kullanmak üzere uygulama geliştirebilecek. En basitinden, dokununca renk değiştiren bir ekrandan tutun da geniş kapsamlı bir web tarayıcısına kadar her türlü application yapmak mümkün. Bunun için apple’a ait olan SDK denen bir araç kullanmak gerekiyor. Bu SDK denen aracın 1.2 ve 2.0 olmak üzere 2 tane versiyonu bulunuyor.

SDK indirmek için;

https://daw.apple.com/cgi-bin/WebObjects/DSAuthWeb.woa/wa/login?appIdKey=D635F5C417E087A3B9864DAC5D25920C4E9442C9339FA9277951628F0291F620&path=//iphone/login.action%3FreturnPath%3D%252Fiphone%252Fdownload.action%253Fpath%253D%252Fiphone%252Fiphone_sdk%252Fiphone_sdk.dmg

Merak eden arkadaşlar yukardaki linkten Apple SDK'yı indirip inceleyebilir. Bu SDK ile hertürlü kayan menüleri, butonları yada kullandığımız bütün özellikleri uygulamamıza ekleyebiliyoruz. En önemli özellik ise openGL desteği.

Daha geniş bilgi için;

http://developer.apple.com/iphone/

http://developer.apple.com/iphone/program/university.html

Bu 2 link'te merak edilen genel sorular ingilizce olararak mevcut.

Eğitimler:

Ön bilgi olması amacıyla youtube’ta "how to develop iphone application” araması yaparsanız tanıtıcı videolar çıkacaktır.

Bunun yanında Stanford üniversitesinde Apple application development adı altında bir ders var. Bu dersin sayfası : http://www.stanford.edu/class/cs193p/cgi-bin/index.php

Itunes kullananlar Stanfod diye aratırlarsa oradan bu dersin sayfasına girip dersleri ve dökümanları indirebilirler. Bu özellik bir önceki yazımda bahsettiğim youtubeEDU servisi ile gerçekleşiyor.

Stanford’taki derste önce object oriented programlama mantığı yani sınıflar , kalıtım ve polymorphism anlatılıyor. Sonra Apple uygulamalarının yapısı ve bunun içinde bulunan cocoa ile objective-c dili anlatılıyor. Benim takip ettiğim ilk 3 derste bunlar vardı sonrası için bir fikrim yok.

GELİŞME:

Umarım bundan sonra yazacağım satırları SDK’yı indirmeden önce okursunuz :). Çünkü link'in son 3 harfinden anlaşılabileceği gibi bu bir exe dosyası değil. Olmadığı gibi eğer intel tabanlı bir macosX(mac operating system ten) yoksa programı kulllanamıyorsunuz. Hiçbir araç yada çevirici bu sorunu şuanda çözemiyor. Yani Windows’unuzda bu aracı kullanamazsınız. Bu tecrübe ile şu mesajı anlıyoruz : Apple’cı olunmaz Apple’cı doğulur.

2,1gb’lık dosyayı boşuna indirdikten sonra( internetimiz sınırsız ise sorun yok değilse Apple’ın kulaklarını bolca çınlatıyoruz)

Arkadaşımın mac’ine programı taşıyıp kurduktan sonra, uzaktan davulun sesinin hoş geldiğini anladım. Bu program hiçbirşeyi kendi yaratmıyor. 2 önemli konu hakkındaki bilgilerinizi bu program ile sanata dökmeniz gerekiyor. 2 önemli konuyu araştırmaya başladım.

1. Cocoa

2. Objective – c

Cocao application yaratmak için bilmemiz gerek nesne tabanlı bir programlama arayüzü. Apple’ın cocoa için yaptığı tanım şöyle :” Cocoa is an object-oriented application environment designed for developing Mac OS X native applications. The Cocoa frameworks support rapid development and high productivity. Cocoa provides developers starting new Mac OS X projects the fastest way to full-featured implementations. Applications from other platforms can also be brought to Mac OS X quickly using Cocoa.”


Objective- c ise bir programlama dili. Bu programlama dilini cocoa’nın içinde kullanıyoruz. Objective – c nesne tabanlı yani object oriented bir dil olduğu için ne bildiğimiz c ne de c++. Kendi içinde sınıflar tanımlayabildiğimiz, inheritance ve polymorphism’i kullandığımız bir dil. Bir bakıyorsunuz bu bildiğimiz c diyorsunuz sonra ama yok bunda nesne tabanlı program yazılıyor demekki c++ diyorsunuz. Ben olsam bu dilin adını objective – BJK koyardım. Özetle uygulama geliştirmek için bu dili kullanıyoruz. Bu dili kullanmak için nasıl c++ için borland’ı kullanıyorsak objective-c dili için yine Apple hazretlerinin sunduğu Xcode denen şeyi kullanmamız gerekiyor. Xcode ile c, c++ gibi birçok dilide yazıp çalıştırabilirsiniz. Tabi bu Xcode’uda Windows’ta açmak mümkün değil.

Sonuç:

Eğer ben hayatımda microsoft kullanmadım apple benim herşeyim,

Objective- c yi türkçeden daha iyi biliyorum,

Cocoa,xcode gibi kavramlardan iyi anlarım

Diyorsanızen sıkı sorun ile karşı karşıya kalıyorsunuz. PARA.

Bahsettiğim bütün araçları tamamen ücretsiz indirip kurabiliyorsunuz fakat yarattığınız uygulamaları kullanmabilmek için Steve Jobs’a 99$ havale çekmeniz gerekiyor. Bu parayı ödedikten sonra application’ınız Apple Store’larda yayınlanıyor. Yarattığınız uygulamaları para karşılığı satabildiğimizi ya da bizim bundan pay alıp almadığımız konusunda bir bilgim yok ama itunes’larda application sahibi olmanın değeri paha biçilemez değilmi?