Kotlin vs Java: Kotlin Java'yı Değiştirecek mi?
Yayınlanan: 2021-10-05Sırasıyla Kotlin ve Java olmak üzere Android mobil geliştirme için iki dilin tüm ana güzelliklerini açıklayan bir makale.
Makale 10 Mart 2017'ye kadar uzanıyor ve o zaman Kotlin henüz resmi bir Google dili haline gelmedi.
Özel Android uygulamanız üzerinde çalışacak geliştiricileri seçtiğinizde, kullandıkları belirli bir teknoloji sizin için çok önemlidir. Şu anda Google için en yaygın olarak kullanılan iki dil Java ve Kotlin'dir (yine de Google'dan resmi destek almamaktadır), bu nedenle sizin için ilk başta ekibinizin neyi kodladığı önemsiz gibi görünebilir. Yine de daha fazla düşünülmesi, programlama dilinin zamanınızın ve harcamalarınızın bir kısmını da azaltabileceğini gösteriyor.
Ayrıca okuyun: google play reddetme nedenleri
İlginç bir gerçek: Kotlin, adını bir adadan almıştır (Saint-Petersburg şehrinin yakınında bulunan Kotlin Adası); Kotlin'in bu nispeten yeni programlama dili, gelecekteki Android uygulamalarının geliştirmelerini temel alması için büyük bir potansiyele sahip yavaş yavaş büyük bir güce dönüşüyor.
Teknik olarak 6, ama aslında 1 yaşında olan Kotlin ile tanışın.
Başlangıçta, 2011 yılında, Kotlin'in açıklanmış bir sürümü olarak, ilk olarak Jet Brains adlı bir Saint-Peterburg programcı ekibinden Java Sanal Makinesi için yeni bir dil olarak ortaya çıktı. Android geliştirme için yeni bir "çıkrık" bulmaya karar vermelerinin sebebini anlamak oldukça kolay; görünüşe göre, birkaç tane var:
Java 22 yıldan beri var (bir programlama dili için oldukça iyi bir terim), bu yüzden Java'nın çok büyük olması ve eskimesi nedeniyle uygulanamayan birçok özellik var.
Java, uzun kod kombinasyonlarının yazılmasını gerektirir
Java'da yazılan kodun derlenmesi oldukça uzun sürüyor
Bununla birlikte, Kotlin geliştirme ekibi bunu ılımlı bir şekilde dile getirdi ve birçok dilde, Scala dışında, dünya çapındaki mühendislerin özlem duyduğu özelliklerin karışımına sahip olmadığı konusunda hemfikirdi; ancak Jet Brains şirketinin teknik lideri Dmitry Jeremov'un işaret ettiği gibi, Scala'nın derleme süresi yavaş ve çağdaş BT hizmetlerinin hareket ettiği hız için yetersiz.
Son olarak, geçen yılın Şubat ayı tüm JB şirketi için özel bir aydı - çünkü ilk Kotlin 1.0 sürümü resmi olarak kararlı bir sürümde dünyayı gördü.
O zamandan beri, Jet Brains resmi bloglarında bizi izlemeye devam etmemizi tavsiye etti ve hata düzeltme ve Java Script desteğine odaklanan yeni 1.1 Kotlin güncellemesinin yakında çıkacağına söz verdi. Bu makalenin yayınlandığı süre için (10 Mart 2017), 1.1 Kotlin sürümü sadece bir hafta önce yayınlandı, ancak dünya zaten bunun hakkında konuşuyor. Yani bir Kotlin ve Java karşılaştırması yaparsanız, önemli farklılıklar olur mu?
Tekerleğin Yeniden İcadı Değil.
Kotlin'e karşı Java farklılıklarına bakıldığında, bir Android uygulaması geliştirmek isteyenler için arzu edilen bir etkiye sahip olabilecek Java'ya göre bazı Kotlin avantajları olduğu kesindir.
O halde, en baştan bir yerden başlayalım.
Kotlin'i Kullanma Nedenleri:
1) Kotlin yazmak için daha az kod gerektirir.
En az %20 daha az. Daha önce de belirtildiği gibi, 22 yaşındaki Java zaten biraz modası geçmiş + Oracle Java'yı geriye dönük uyumlu bir dil olarak yarattı, bu da temelde yeni başlatılan her sürümün bir önceki sürümde yer alan özellikleri desteklemesi gerektiği anlamına geliyor ve sonuç olarak , her güncellemede bazı yeni özellikleri eklemek zorlaşıyor; dolayısıyla yazılacak kod miktarı da artar.
Aksine, Kotlin'in mimarisi sıfırdan yaratıldı ve katmandan katmana mimarinin olmamasına neden oldu.
2) Kotlin'de daha az ezilme meydana gelir.
Kotlin JVM'nin genellikle "bir milyar dolarlık hata" olarak adlandırılan sorunuyla çok daha az sorunu var - NullPointerExeption sorunu burada önlenebilir. NullPointer henüz her programlama dilinde mevcuttur, ancak onunla çalışma yolları farklı olabilir. Kayıt için Java'da bağlantının boş olup olmadığını manuel olarak kontrol etmeniz gerekir. Boşluk kaçırılırsa - bum, crash, işte! Kotlin'in lehine, bu dilde her nesne otomatik olarak Null olarak ayarlanır + NullPointer için otomatikleştirilmiş kontroller vardır - kodun onsuz düzgün çalışmasını sağlamak için.
3) Kotlin bir tür güvenlik dilidir.
Yine Kotlin'de her sınıf bir fonksiyondur ve bunun tersi de geçerlidir; bundan daha fazlası, iOS için Swift ile aynı, Android için Kotlin, tüm güvenlik kontrollerinde yardımcı olan İsteğe bağlı türlere sahiptir.
Ayrıca Okuyun: Objective-C Üzerinden Siwft Kullanmanın Avantajları
4) Kotlin, değerli zamanınızın bir kısmını size kazandırır.
Daha önce de söylendiği gibi, daha az kod neredeyse daha az hatayı garanti eder ve buna bağlı olarak tüm kodlama sürecinde daha az zaman izlenir. Ve genellikle yazılım geliştirme ekipleri, projenin toplam maliyetini geliştiricilerin kodlama için harcadıkları saat miktarına göre hesaplar.
İşte Kotlin'in Java'ya göre bazı avantajları. Kotlin henüz Google tarafından resmi olarak desteklenmese ve ilk kod derlemesi sırasında birkaç saniye daha sürse de, tüm bu noktalar ele alındığında, Kotlin'in programlama dilinin birçok güzelliğe sahip olduğu ve hızı dikkate alındığında ortaya çıkıyor. ile ivme kazanır, hiç şüphesiz Kotlin-Switch için akıllıca bir fikirdir.
Android ve iOS Geliştirme Arasındaki Farklar hakkında bilgi edinin
"Ya geçiş yaparsam?"
Yaşadığımız dünya birçok durumda oldukça öngörülemez hale geliyor ve mobil uygulama geliştirme açısından bazen birlikte çalıştığınız ekibi değiştirmeniz gerekiyor. Diyelim ki eskiden outsource ekibiyle çalışıyordunuz ama şimdi projeniz için kurum içi geliştirme talebi geldi. Bir dilden diğerine "çeviri" yapmak ne kadar zor olurdu?
Yine, cevap gerçekten önceki mühendislerinizin kullandığı teknolojiye bağlıdır. Örnek olarak Java'dan Kotlin'e geçiş yaparsak, şüphesiz bir çözüm vardır. Jet Brains, bu sorunu çözmeye yardımcı olan bir Java-Kotlin dönüştürücü oluşturmuştur; ancak dönüştürme işlemi sırasında bazı hatalar meydana gelir, bu nedenle izlenmesi ve hatta bazı işlemlerin manuel olarak ayarlanması gerekir.
Aşağı tarafta, tüm işlevler, yöntemler ve değişkenler dönüştürülemediği için Java'dan Kotlin'e dönüşüm daha durgun ve sancılı olacaktır. İşbirliği yaptığınız yeni ekip için belki de en hızlı çözüm, mümkünse Java'da yazmaya devam etmek olacaktır.
Ayrıca, başka bir dile dönüştürme olasılığı projenizin boyutuna bağlı olacaktır. Genel olarak konuşursak, 3 tür proje vardır: küçük , orta ve büyük .
Küçük projeler yaklaşık 160-200 saat sürer ve eğer karmaşık bir mimari yoksa - muhtemelen Kotlin'e aktarılabilirler;
Orta ölçekli projeler 5 aya kadar süren geliştirmelerden oluşur ve dönüştürülmesi oldukça zahmetlidir;
Büyük projelerin geliştirilmesi 5 aylık dönemden başlar ve bu kategorideki projelerin başka bir dile dönüştürülmesi tamamen imkansızdır;
Genel olarak, "geçiş yapan" bir müşteri için en iyi seçenek, her zaman önceki proje sahiplerinin kullandığı teknolojiyi, dilleri ve çerçeveleri kullanan mühendislerle çalışmaya başlamaktır. Her neyse, değişiklik kaçınılmaz olduğunda, “daha yeni sözlüğü” seçmenizi şiddetle tavsiye ederiz; örneğin, Java yerine Kotlin'i seçmek için.
Android için daha akıllı bir şekilde kodlamanın özlü bir yolu.
Ya da en azından Kotlin'in sloganı öyle. Kuşkusuz, Kotlin'in artıları ve eksileri olabilir, ancak Kotlin geldiğinde birçok özellik uygulanabilir hale geldi. Ve şimdi resmi olarak Java Script'i destekleyen Kotlin 1.1'in yeni yayınlanan bir sürümüyle, daha önce rüya gibi birçok özellik artık uygulanabilir. ve üzerinde.
Mind Studios'ta , ilk kararlı sürüm sahneye çıktığından beri Android geliştirme için Kotlin ile de uğraştık. Mi Band Control (Mi Band Wristband için bir aktivite izleyici) tamamen Kotlin'de geliştirilmiş bir uygulamadır. Bu deneyim, Kotlin'in geliştiricilerimiz tarafından da Android için kodlamanın daha akıllı ve daha özlü bir yolu olduğunu kanıtladı. Bu nedenle, uygulamanız için akıllıca bir dil seçin, ancak döngüde kalmayı unutmayın!
Vsevolod Kaganovich ve Elina Bessarabova tarafından yazıldı.