Objective-C Üzerinden Swift Kullanmanın Avantajları
Yayınlanan: 2021-10-05Swift programlama dilinin sahip olduğu temel güzellikleri öne çıkarmayı amaçlayan bir makale .
Burada hızlı bir sınavdan başlamak isterim.
Soru: iOS uygulamalarının yazıldığı programlama dili nedir?
AC#
b) Amaç-C
c)Hızlı
Görünüşe göre yukarıdakilerin tümünü seçtiyseniz - %100 haklısınız, söz konusu dillerin tümü iOS geliştirme söz konusu olduğunda kullanılmaktadır. Yine de, onları ayıran büyük bir “kuşak farkı” nedeniyle hepsinin farklı olduğunu söylemek garip olmaz.
...Wikipedia, her şeyin 1980'lerin başında Brad Cox ve Tom Love tarafından programlama dillerinin büyükbabasının piyasaya sürüldüğü bir Objective-C'den başladığını belirtiyor. İlk olarak NeXT tarafından ve daha sonra, 1996'da OpenStep'i OS X'te kullandıklarında Apple tarafından satın alındı. O zamandan beri, Apple işletim sisteminin büyük bir kısmı Objective-C üzerinde geliştirildi ve bu en yüksek artış oldu.
Ancak, bilindiği gibi, bir gün güzel olan her şey harika bir anı yapar ve bu günlerde Objective'e olan da tam olarak budur. 2048 oyunu, Wordpress iOS veya FireFox iOS tarayıcısı gibi uygulamaları duyduğunuza %100 eminim. Şaşırtıcı bir şekilde, bu uygulamaların yazıldığı iOS kodlama dili Objective değil - Swift'dir.
Süratli. iOS Uygulama Programlama Dili.
(bu bilgi, makalenin yayınlandığı tarihte - Şubat 2017; bazı değişiklikler daha sonra geçerli olabilir)
Müşterileri şaşırtma isteğiyle Apple herkesin beklentilerini aşmayı başardı - özellikle geliştiriciler, Haziran 2014'ün başlarında yeni ios uygulama programlama dili bu dünyaya getirildiğinde çok şaşırdılar. 3 yıllık Swift geliştirme sürecinden sonra, programcılar henüz üzerinde çalışmayı bırakmadı - Eylül 2016'da yayınlanan Swift 4.0'ın en son sürümüyle şimdiden birkaç güncelleme yapıldı. Bu açık kaynak dilde yazılan kod, macOS için uygulanabilir. , iOS, watchOS, tvOS ve (!) Linux.
2 yıl sonra şimdi ve Swift, mevcut tüm mobil geliştirme dilleri arasında sağlam bir pozisyon aldı. Stack Overflow Geliştirici Anketi Sonuçları, Swift'in En Sevilen ve Aranan Dillerde en üst sıralarda yer aldığını ve Objective-C'nin bu yıl (2019) en korkulan diller arasında yer aldığını iddia ediyor.
Tüm noktalar dikkate alındığında, Swift'i kalabalığın arasından öne çıkaran herhangi bir avantaj var mı? Swift vs Objective yarışmasına katılma şansı var mı?
Ayrıca okuyun: iOS ve Android geliştirme arasındaki 6 fark: efsaneler ve gerçekler
Swift, Objective-C'ye karşı
Dedikleri gibi kurslar için atlar, ancak Apple'dan Swift programlama dilinin sahip olduğu birkaç inkar edilemez güzellik var. İşte çalışmak için grafiksel olarak tanıtılan bir grup artı ve eksiler.
Tüm yüksek teknoloji özellikleriyle kodlama süreci size bir roket bilimi gibi görünse bile, Swift'in getirdiği daha basit ve ilerici yaklaşım dikkatlerden kaçmıyor. Öte yandan, Swift hakkında bazılarının dezavantaj olarak adlandırabileceği birkaç şey var, örneğin Xcode'un birincil entegre geliştirme ortamı olarak kullanılması gerekir; bazı geliştiriciler, kararlılık ve özellikler açısından Xcode'u aşan üçüncü taraf IDE'leri daha iyi kullanacaklarından şikayet ediyorlar.
Swift Kullanmak İçin Nedenler
Daha önce listelenen her şeye rağmen, dünya çapında birçok geliştirme şirketi Swift dil seçeneğine bağlı kalmayı tercih ediyor ve Mind Studios burada bir istisna değil. Objective-C karşılaştırmasında neden Swift'i tercih ediyoruz? Göz önünde bulundurulması kolay birkaç faktör vardır.
Swift...
1)...daha yeni.
Objective-C zaten 33 yaşında ve başlangıçta bir C dili devamıydı. Çarpıcı bir tezat olarak Swift, Apple'dan ayrı bir dil olarak geldi çünkü şirketin Objective'i desteklemesi ve geliştirmesi zorlaştı. 3 yıllık varlığı boyunca Swift aktif olarak geliştirildi ve yeni sürüm 4 yakında teslim edilecek.
2)...temizleyici.
Swift'e eklenen yeni bir sözdizimi ile, kodu okumak, derlemek ve incelemek, Objective-C'de eskiden olduğundan çok daha kolay görünüyor.
3)...daha az zaman alır.
Swift yazılması için daha az kod satırı gerektirdiğinden, uygun şekilde, kod oluşturma işinin kapsamını bitirmek minimum zaman alır.
4)...daha az bellek tüketir.
Objective-C'nin önceki bölümlerinde, bir nesne bağlantısı olsaydı - rastgele erişimli belleğin bir kısmını alırdı; Swift uygulandığında - Apple, nesne yönelimli programlamayı yalnız bıraktı ve yapılara geçti. Sonuç olarak, referans türü verilerinin ve SDK sınıflarının miktarı azaldı, şimdi değer türü için değişti. Bu, Swift'de daha verimli bir bellek kullanımına yol açmıştır.
5)...daha hızlı.
Swift, verilere uymayı Obj-C'den daha hızlı başarır; Objective-C ile aynı, üzerinde çalıştığı platform için optimize edilmiş yerel kod üretimi için LLVM derleyicisini kullanır. Swift'de birçok dizi yapı olarak yeniden yazılır; daha önce Objective-C'de nesneler olarak kullanılan birkaç sınıf, daha yavaş kod çalışma süreciyle sonuçlandı; Xcode IDE'de kodun derlenmesi daha uzun sürse de, sonuçta kod Swift'de daha hızlı çalışır.
6)...sadece iOS odaklı değil.
Daha önce de belirtildiği gibi, Swift zaten Linux'a uyarlandı ve bazı programcılar bunu Android'de de denediler. Tecrübelerimize göre sunucu kısmı da Swift ile yazılabilir.
7)...açık kaynak bir dil.
Görünüşe göre tüm teknik belgeler okunabilir - bu da temel olarak gelecekteki uygulama ürünlerinizin yararına kullanılabileceği anlamına gelir. Ve bundan daha da fazlası - Apple, Jira'yı Swift hata takibi için yarattığından, istekli tüm geliştiriciler çözümlerini önerebilir.
8)… tip güvenli bir dil.
Hiçbir zaman olmayan Objective-C'nin aksine. Stack Overflow'un verilerine göre, tür güvenliği yalnızca çalışma zamanı için değil, aynı zamanda derleme zamanı için de faydalıdır. Swift hala çalışma zamanında türleri kontrol etmez, ancak derleme zamanında bir kontrol sırasında yapar ve bu zaten birçok hatayı ortadan kaldırmaya yardımcı olur.
9)... numaralandırmalar, isteğe bağlı türler ve kullanışlı anahtarlar içeren bir dil.
...bu da temel olarak kullanımının biraz daha güvenli olduğu anlamına gelir. Objective-C her zaman nesne yönelimli bir dil olmuştur, ancak Swift için yazılmış bazı yapılarla sonuçta daha az çökmeye ve güvenliğin artmasına neden olmuştur. Yine Apple, tamsayı değerleri yerine önce isteğe bağlı türler ve ardından ikinci olarak numaralandırmalar ekledi. İsteğe bağlı türler, nesnenin kod içindeki varlığını kontrol etmeye yardımcı olarak ek çökmeleri önlemeye izin verir. Apple, nesneler için numaralandırma ve anahtarların yardımıyla kodlama deneyimini daha da büyüleyici hale getirmeyi umuyor.
Swift numaralandırmalarına bir örnek:
Swift numaralandırmalarına bir örnek | Ancak, Obj-C'de |
---|---|
| |
Swift kodunda benziyorlar | Buna karşılık, işte Obj-C anahtarları |
---|---|
|
|
isteğe bağlı paketi aç: |
---|
|
Ayrıca okuyun: iOS Geliştirme için Mimari Kalıplar
Hepsi Swift-iyi.
Gerçekten denemeden önce teknoloji hakkında konuşmaya çalışsaydınız, bu desteklenmeyen bir iddia olurdu. Mind Studios'ta zaten sahip olduğumuz deneyime bakılırsa, Swift ile çalışmak oldukça uygun.
Aşağıdakiler de dahil olmak üzere en yeni uygulamalarımızdan bazıları Swift ile yazılmıştır:
- Gadh iOS - avukatınızla çevrimiçi telefon ve video görüşmelerini kanıtlayan bir uygulama
- Stern Fit - tutkulu sporcular için bir sosyal ağ
- TapToTrip - kullanışlı bir rota ve seyahat planlayıcısı
- LIT - premium EPUB eOkuyucu
- Unagrande YogaClub - tutkulu bireyler için yoga video dersleri
Daha önce bahsedilen uygulamaların tümü, Swift üzerinde kolayca uygulanabilecek çeşitli teknolojileri içerir.
Artırılmış gerçeklik geliştirme kiti hakkında daha fazlasını keşfetmek ister misiniz?
Özetle - hangi dile bağlı kalmalısınız?
Bu sorunun evrensel bir cevabı yoktur. Bir yandan, BT'de sıklıkla olduğu gibi - en yeni teknoloji genellikle bir çözümdür; diğer yandan, her proje farklı olduğu için, orta akışta atlarınızı değiştirmek en iyi çalışma politikası olmayabilir. Bu nedenle, hangisini seçerseniz seçin, bu özel pazar endüstrisinin iş modeline ve gelecekteki ürününüz için seçmiş olduğunuz özelliklere uygun olduğundan emin olun.
Max Mashkov, Yurii Smirnov ve Elina Bessarabova tarafından yazıldı.
Projeniz için hangi teknolojinin kullanılacağı konusunda bir danışmaya mı ihtiyacınız var? Bize bir satır bırakın!