Hangi Yazılım Dilleri Nerede Kullanılır - 2 | Fuat Akdemir

Hangi Yazılım Dili Nerede Kullanılır? – 2

Hangi Yazılım Dili Nerede Kullanılır? – 2

Yazılım dillerinin nerelerde kullanıldığına dair klavyeye aldığım yazı dizimin ikinci ve son bölümünde hoş geldiniz. Bu bölümde ele aldığım yazılım dilleri siber güvenlik, blockchain (blok zinciri), mobil uygulama geliştirme, masaüstü uygulama geliştirme ve oyun geliştirmede hakkında.

Not: Yazı dizisinin veri bilimi, yapay zeka, big data (büyük veri), gömülü sistemler, web (front-end ve back-end) konularına değindiğim ilk bölümüne buradan ulaşabilirsiniz. Ayrıca Yazılım Nedir, Yazılımcı Nasıl Olunur? başlıklı yazıma da göz atabilirsiniz.

Dikkat! Bu yazımda genel olarak popüler dilleri ve framework'leri konu aldım. Unutmayınız ki bunlara çok daha fazla dil ve framework eklenebilir.

MOBİL UYGULAMA GELİŞTİRME

Mobil işletim sistemleri günümüzde Android ve iOS dışında yok denecek kadar azdır. Bazı dillerde sadece Android ya da iOS'e yönelik (native) uygulamalar yapıldığı gibi bazı dillerle veya framework'lerde de çapraz - hibrid yani hem Android'de hem de iOS'te (hatta web uygulamaları ve masaüstü uygulamaları) çalışabilecek uygulamalar yapılabilmektedir.

Native Uygulama Geliştirme

Java

Java'nın çok kapsamlı bir dil olduğunu ve pek çok şey yapılabileceğinden bahsetmiştim. Native Android uygulamaları geliştirmek için Java temel dildir. Java ile mobil uygulama geliştirmek için Android Studio programını kullanabilirsiniz. Java diline iyice hakim olmadan Java ile Android uygulama geliştirmeniz biraz zor olabilir. Özellikle de başka bir yazılım dili bilmiyorsanız. O nedenle önce Java'dan başlayın derim. Arayüz yapısını (butonlar, text view'lar vb.) gerçekleştirmek için de Xml kullanmak gerekiyor.

Kotlin

Bir diğer native Android uygulama geliştirme dili de Kotlin'dir. Kotlin JetBrains tarafından geliştirilmeye 2010 yılında başlandı ve 2011 yılında duyuruldu. Açık kaynak kodlu ve nesne yönelimli bir dildir. Nispeten yakın zamanda çıkmasına rağmen hızlı bir şekilde popülerleşti. Kotlin ve Java birlikte çalışabilmektedir. Kotlin içinde Java, Java içinde Kotlin çalışabilir. Dolayısıyla Java kütüphaneleri Kotlin'de de kullanılabilir. Google tarafından desteklenmekte ve Android ile de %100 uyumludur. Java'dan daha az kod yazımına izin verir ve daha güvenlidir.

Objective-C

Objective-C, C dili üzerine yazılmış ve nesne yönelimli bir dildir. İlk çıkış tarihi 1983 yılı olup, Apple tarafından 2007 yılından itibaren geliştirilmeye devam edilmiştir. Native iOS uygulama geliştirmek için kullanılır. Yazımı Swift'e göre daha zor olduğu için son dönemde Swift biraz daha öne çıkmaya başlamıştır.

Swift

Swift, Apple tarafından iOS ve OS X platformlarına iOS ve Mac uygulamaları geliştirmek için oluşturulan, derlenerek çalışan güçlü ve kullanımı kolay, nesne yönelimli bir programlama dilidir. İlk defa 2014 yılında duyuruldu. Kullanımı kolay ve açık kaynaklı bir dildir. Bu gibi nedenlerle, yakın geçmişte çıkmasına rağmen, hızlı bir popülerliğe erişmiştir.

Hybrid ve Cross (Çapraz - Hem iOS Hem Android Uygulamaları) Geliştirme Platformları

Flutter

Google tarafından geliştirilen Dart dilinin bir framework'ü olan Flutter ile mobil ve masaüstü uygulamalar geliştirebilirsiniz. 2017 yılında yayınlanmıştır ve henüz çok yaygın olarak kullanılmasa da giderek popülerliği artmakta. Widget mantığı ile geliştirilmekte ve önce arayüz oluşturma esasıyla geliştirme yapılır.

React Native

Facebook tarafından desteklenen bir cross platform framework'ü olan React Native ile hem iOS hem de Android uygulamaları geliştirebilirsiniz. Ülkemizde de oldukça popülerdir. Js tabanlıdır. Cross platform olmasına rağmen "native" ismini almasının sebebi kullanıcı arayüzünde bir webview kullanmak yerine native bileşenleri kullanmasıdır.

Ionic

Ionic ile yazılan kodla tek seferde iOS, Android, masaüstü ve web uygulamaları yapılabilir. Angular.js veya Angular 2 bilgisine sahip geliştiriciler için öğrenmesi daha kolaydır. Açık kaynak kodludur ve dokümantasyonu iyidir. Performans ve güvenlik açısından dikkat edilmesi gerekir. Cordova üzerine inşa edilmiştir ve mobil cihaz donanımına ve sistem kaynaklarına erişim gibi işlemler Cordova aracılığıyla yapılmaktadır.

Cordova

Cordova’da geliştirme, bir web sayfası oluşturmak için ihtiyaç duyulan geliştirmeye benzerdir; Html, Css ve Js, hepsi Cordova’da paketlenmiş bir web görünümü yaratmak için bir araya gelir.

Titanium

Titanium’u Cordova’dan ve PhoneGap gibi Cordova-tabanlı araçlardan ayıran, eğer hem native hem Html-tabanlı kullanıcı arayüzü kullanan bir uygulama yaratmak istemiyorsanız, Html ve Css dosyalarına ihtiyaç olmamasıdır. Uygulamanızı bir tarayıcı yerine gerçek platformda emüle (ya da simüle) etmenize yardımcı olan oldukça faydalı bir mobil araç kitiyle gelir. Uygulamanız cihazda çalıştırıldığında, bir web görünümüne paketlenmez, bunun yerine bir Javascript motoru tarafından yorumlanır. (iOS’te JavaScriptCore veya Android’de Rhino)

Xamarin

Xamarin’in, geliştiricilerin native kullanıcı arayüzleri olan ve C#’a odaklanan birden çok platformda kod paylaşan, native Android, iOS ve Windows uygulamaları yazmak için kullanabilecekleri C#-shared bir kod tabanı vardır. Cordova’ya benzer şekilde çalışır.

OYUN GELİŞTİRME (MOBİL Ve/Veya MASAÜSTÜ)

Öncelikle oyun geliştirme çok uzun ve detaylı bir konu. Grafiklerin tasarımı, sesler ve kodlamaya (bazı framework'lerde kodlama olmadan da oyun yapılabilmekte) kadar pek çok şeye değinmek zorundasınız. Amacınız basit bir oyunsa tabi hızlıca bir geliştirme yapabilirsiniz. Büyük bir oyun yapmak istiyorsanız da tavsiyem ekip oluşturmanız ya da bir ekibe dahil olmanızdır. Aşağıda popüler olarak kullanılan dilleri listeledim:

  • C++
  • C#
  • Java
  • Javascript

Popüler Oyun Motorları:

Oyun geliştirme yaparken kodlarımızı derleyicilerle derleyebildiğimiz gibi oyun motorlarıyla direkt olarak kodlayabiliriz de. Bana sorarsanız Unreal Engine ya da Unity işinizi epey kolaylaştırır. Hem daha hızlı proje geliştirir hem de daha iyi yönetirsiniz. Bazı popüler oyun motorları:

Unreal Engine, Unity, 3D GameStudio, CryEngine 3, Truevision3D

Paylaş:

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.