iOS Uygulama Geliştirmeyi öğrenmek için Swift veya Objective-C kullanmalı mıyım?

Yayınlanan: 2017-02-04

Bir proje için Objective-C mi yoksa Swift mi kullanacağınıza karar vermek her zaman kolay değildir, çünkü her yeni projeye başladığınızda dikkate alınması gereken çok büyük faktörler vardır. iOS uygulama geliştirme öğrencilerinin çoğunun sorduğu en yaygın soru olduğu için bu konuyu tartışmak.

Doğru ve en uygun dili seçmek, proje ve ekip bağlamına ve tercihine, bir programlama diline bağlılığa bağlıdır. Objective-C veya Swift bayrağını sallamak yerine, proje kapsamı, ölçek, ekip kompozisyonu ve teknik hususlar gibi bir projenin bir dile diğerine işaret eden tüm yönlerini dikkate alıyoruz.

2014 yılında Apple, tüm topluluğu şaşırtan yepyeni bir programlama dili Swift yayınladı. Geçtiğimiz 2 yıl içinde, Swift çekirdek ekibi hızla tekrarladı ve dilin çok sayıda versiyonunu topluluğu çok sevindirdi ve şok etti.

Mevcut geliştiriciler için Swift'in ilginç etkileri var ve ayrıca iOS geliştirmeyi öğrenmek isteyen yeni başlayanlar için biraz karmaşıklık getirdi. Mac veya iOS geliştirmeyi zaten bilen ve yeni bir dil öğrenmek ve şekillendirmeye yardımcı olmak isteyen tüm geliştiriciler için iyi bir seçenektir.

Ancak, sadece denemek isteyen, bir iOS geliştirici işi almak istemeyen ve öğrenirken ekstra hatalarla uğraşmaktan çekinmeyen, belki de öğrenmekle ilgilendikleri için çok sayıda geliştirici var.

Neden Swift Öğrenmelisiniz?

Programlamanın temellerini açıklığa kavuşturmak için Swift, çalışması çok daha kolay bir dilken Objective-C 30 yaşın üzerinde ve bilgisayarlarla nasıl etkileşime girdiğimize dair farklı değerlendirmelerin yapılması gerektiği bir zamanda yazılmış.

Tüm bu faktörlerin bugün bilinmesi ve anlaşılması son derece önemlidir, çünkü bunlar programlamanın temellerini öğrenmeyi göz korkutucu hale getirebilir. Ayrıca, programlamanın temellerini Swift ile kavramak Objective-C'den çok daha basittir. Swift'i öğrenmeniz için farklı nedenlere bir göz atalım mı?

Güvenli

Swift'in piyasaya sürülmesi sırasında Apple, onun güvenli, modern ve güçlü olduğunu iddia ederken, bir programlama dilinin modernizmi ve gücünün, yeni başlayanlar için çok az şey ifade ettiğini ve güvenliğin esas olarak önemli olduğunu iddia etti.

En zor şey, programlamayı öğrenirken neyin yanlış gittiğini bilmemek. Pekala, bunu kendinizden öğrenmenin ve ondan öğrenmenin sayısız faydası vardır; ancak, uygun geri bildirimlerin olmaması bazılarını geciktirebilir.

Swift'i kullanarak, bir dizi hata veya hatanın ortaya çıkmasını önleyebilir ve neyi yanlış yaptığımızı yinelemeli olarak bize bildirebilirsiniz. Buna ek olarak, Swift çok daha güvenlidir ve kod yazma deneyiminizi daha az sinir bozucu hale getirerek size avantaj sağlayacaktır.

Yüksek Etkileşimli Ortam

Swift'in yanı sıra Apple, yeni başlayanların kodlamayı öğrenmelerine yardımcı olan en etkileşimli iki kodlama ortamını da yayınlar. Tüm yeni başlayanların kodlamayı öğrenmelerine yardımcı olacak bir ortam olan Xcode Playgrounds var.

Xcode adlı bir Mac uygulamasının ortamı ve parçası olan ve Swift'i öğrenmenize ve keşfetmenize, uygulamanızın bazı kısımlarını prototip etmenize ve başkaları için öğrenme ortamları geliştirmenize olanak tanıyan Xcode Playgrounds vardır.

Ayrıca, Xcode Playgrounds ile aynı etkileşimli ortamı sağlayan, ancak çok daha araştırmacı bir tarzda sunan ve iPad'inizin donanımını kullanmanıza olanak tanıyan Swift Playgrounds adlı bir iPad uygulamasını da bulabilirsiniz.

Swift'in en iyi yanı, diğerlerinden çok daha ilgi çekici olması ve anında geri bildirim sunarak tüm konsepti öğrenmeyi kolaylaştırmasıdır. Bu tür bir ortam Swift için hiç hoş değil, ancak Apple iPad uygulamasıyla harika şeyler yapıyor ve tüm yeni başlayanlar için öğrenmeyi kolaylaştırıyor.

Modern

Swift, zengin yönleriyle gelen ve yeni başlayanların Objective-C'den daha kolay okuma ve yazmalarına olanak tanıyan son derece modern bir dildir. Web'de yazılı olarak görebilirsiniz ve bununla yeterli deneyime sahip olduğunuzda her şeyin anlaşılması çok daha basit olduğu için önemli değil.

Kod okumaya takılmadan kavramları anlamak kolay değil. Satırın sonunda noktalı virgül unuttuğunuz için programlarınızın çökmesine neden olmazsınız.

Bunlar alışınca ufak tefek şeyler; bununla birlikte, Swift'in yeni başlayanlar için masaya getirdiği kesinlikle faydalıdır. Swift son derece modern ve birçok insan için girişe engel olacak, konseptlere odaklanmayı çok kolaylaştıracak.

Kısacası, iPhone geliştirmeyi öğrenme yolculuğunuzun ilk adımı olan programlamanın temellerini öğrenmek ve anlamak. Dillerin sağladığı modernizm ve güvenlik, giriş engelinin azaltılmasına katkıda bulunur.

Neden Objective-C Öğrenmeli?

Yavaş yavaş, cevap yıllar geçtikçe değişecek ve Swift toplumda daha fazla yol kat etti; ancak, yaklaşık 10 yıldır iOS geliştirme için fiili dil olduğu için Objective-C hakkında bilinmesi gereken tek bir şey var. Üstelik bir MacOS geliştiricisi olmak istiyorsanız, 80'lerden beri Objective-C ilk tercih olmuştur.

Kısacası, iOS SDK'daki her şey Objective-C'de geliştirildi ve Objective-C programlama modeliyle mükemmel bir şekilde çalışıyor. Swift'de kod yazıyor olsanız da, tümü Objective-C'de yazılmış bileşenlerle etkileşime gireceksiniz. Üçüncü taraf kitaplıklar ve çerçeveler, Objective-C çok daha uzun süredir var olduğundan, esas olarak Objective-C'dedir.

Ayrıca, blog gönderileri, kitaplar, konferans videoları ve daha fazlası gibi öğrenme kaynaklarının yıkıcı çoğunluğunun tamamı Objective-C'dedir; bu nedenle, gizemli bir sorun için İnternet'i açarsanız, Objective-C kodunu okuma olasılığı yüksektir. Swift topluluğu heveslidir ve Swift'de çok sayıda kaynak vardır, bu yüzden yardım için zorluk çekeceğinizi düşünmeyin.

Ciddi bir iOS geliştiricisi olmaya karar verdiyseniz, Objective-C kodunu da okuyup yazmak önemlidir. Bunun ana nedeni, bir iOS geliştiricisi olarak işe girerseniz veya daha eski bir proje alırsanız, tüm kodun Objective-C'de yazılmasıdır.

Ancak, iOS geliştirme için kullandığımız araçlar Swift için optimize edilmedi ve oraya gidiyor, ancak bu araçlar Objective-C ile çok daha iyi. Çoğu şirket için Objective-C, tercih edilen geliştirme dili olmaya devam ediyor.

Her İki Dili de Öğrenmek Gerekli mi?

Önde gelen bir şirket olan Apple, sadece eğlence için yepyeni bir dil çıkarmadı. Şirket, bu yeni dili çekirdek ekip ve toplulukta benimsemeyi artırma ve net bir gösterge sunma çabasıyla yayınladı.

Şirket, bu üst düzey dili platformlarının geleceği olarak görüyor. Swift dilinin temel amacı, iOS geliştirmenin ötesine geçmek ve sunucu tarafı Swift için devam eden çalışmalarla iyi çalışmaktır.

Uzun vadede bu topluluğun bir parçası olmaya karar verdiyseniz, Swift ana geliştirme diliniz olur. Swift'in benimsenmesine bakılmaksızın, Objective-C hala hiçbir yere gitmiyor. Şirket hala dilde birçok iyileştirme yapmaya çalışıyor.

Uygulamaları tamamen Swift ile yazmak mümkündür; ancak, ara sıra Objective-C'ye dalmanız gerekme olasılığı yüksektir. iOS geliştirmenin oldukça zor kısmı olan yeni başlayan biri olarak bu konuya geldiğinizden emin olun. Bir programlama diline aşina olduğunuzda, diğerini öğrenmeniz zor olmayacaktır.

Objective-C ve Swift Arasında Seçim Yaparken Teknik Hususlara Bakın

Objective-C ve Swift dillerinin her ikisi de çeşitli teknik avantajlara sahiptir. Aşağıda, göz önünde bulundurmanız gereken faktörleri bulabilirsiniz.

Dil Çalışma Zamanı

Objective-C çalışma zamanının Swift çalışma zamanından daha sağlam olduğunu biliyor musunuz? Swift'in çalışma zamanı, Objective-C'nin çalışma zamanına bile yakın ve yıllarca bile mümkün olmayacak. Nesnelerin ve türlerin yansımasından ve derinlemesine iç gözleminden yararlanacak bir kod yazmaya karar verdiyseniz, Objective-C zahmetsizdir.

Kod Kararlılığı

Swift, güçlü yazma sistemi ve hata işleme özelliği nedeniyle Objective-C'den daha güvenli bir programlama dilidir. Deyimsel Swift'i takip ediyorsanız, kodunuzun tüm olası hata durumlarını hesaba katacağı garanti edilir.

Her şeyi yakaladığı anlamına gelmez. Bir tutma döngüsünden bellek kaçışı, Swift kodunda Objective-C olarak eşit derecede yaygın olan bir hata örneğidir. Bunun nedeni, Swift'in istem dışı referans sayma sisteminin hareketsiz olmasıdır.

Takım Desteği

Tüm Xcode ekibi, Swift'i desteklemek için oluşturma sürecini yükseltmek için inanılmaz bir iş çıkardı. Ekip, karmaşık bir dil uygulamak ve onu çok farklı bir dille desteklemekle uğraşmak zorunda kaldı. IDE'nin gecikmesi ve Swift için takım desteğinin en az olması küçük bir sürprizle geliyor.

Bazen, Sözdizimi vurgulamayı elde ettiğiniz için şanslı olabilirsiniz. Çoğu zaman, otomatik tamamlama olmadan gideceksiniz. Modern IDE'ler tarafından sağlanan sağlam desteği sevenlerdenseniz, Objective-C'ye bağlı kalmayı veya alternatif IDE'leri değerlendirmeyi düşünün. En yaygın alternatif AppCode'dur; ancak, emacs için doğru bir kuruluma sahip biri var.

Foundation API'leri ile çalışma

Yapmayı planladığınız uygulama ana temel API'lerini kullanacak, Objective-C ile gitmelisiniz. Swift'in harika paketleyiciler sunduğu ve bellek yönetimini biraz daha sorunsuz hale getirdiği doğrudur; ancak bunlar yine de Objective-C kod tabanına daha doğal bir şekilde uyan C API'leri ve C tabanlı işlev çağrılarıdır.

C++ Kodunu Kullanın

Temel API'lerinde olduğu gibi, bir Objective-C projesine uygun olacağından, C++ kitaplıklarından yararlanabilir veya platformlar arası bir C++ SDK üzerinde geliştirme yapabilirsiniz. C++'ı Swift dosyalarına aktaramayacaksınız.

Swift'i kullanmak için, Objective C ve C++ sarmalayıcı sınıfları oluşturma gibi sıkıcı ve hata yüklü bir görevi yerine getirmeniz gerekir. Her seferinde, bağlantıya ve fazladan ek yüke ihtiyacınız olacak ve bir C++ kitaplığının başka bir bölümünü kullanmak isteyeceksiniz. C++ kullanacaksanız Objective-C doğru bir seçenektir.

Geleceğe yönelik

Geleceğe yönelik en sağlam projelerin Swift ile yazılmış projeler olduğunu biliyor muydunuz? Swift'in kullanımı, üçüncü açık kaynaklı Cocoa projelerinde kullanılmak üzere genişletildi. Önümüzdeki dört yıl içinde Objective-C'ye eşit olacak. Üstelik, tüm yeni öğreticilerin ve blogların çoğu zaten Swift'de yazılıyor.

5 ila 10 yıl içinde, Objective-C'yi anlama gerekliliğini çürütmek için Swift hakkında yeterli bilginin olması gerektiğine kesinlikle inanıyoruz. Objective-C kaybolmadan önce kodunuzu dönüştürmek için yeterli zamanınız olacak; bu nedenle, bunu düşünmek için saklayabilirsiniz.

Sonuç

Bu nedenle, iOS uygulama geliştirme için Objective-C ve Swift arasında karar verirken geliştiricilerin dikkate alması gereken en yaygın faktörler bunlardır. Projenizin, normalde bir yığın uygulama tarafından karşı karşıya kalınmayan ek hususları içerme olasılığı vardır. Ancak, hem Objective-C hem de Swift konusunda yetkin, deneyimli bir iOS geliştiricisi arıyorsanız, iPhone uygulama geliştirme şirketi ile iletişime geçebilirsiniz.