Yeni Başlayanlar için Dart Programlama Dili Temelleri

Elif ÖZCAN
4 min readJan 14, 2024

--

Yeni başlayanlar için Dart Programlama temellerini anlattığım yazıma hoşgeldiniz! Bu blog serisinde dart dilinin terimleri, kavramları hakkında bilgi edinmenin yanı sıra yeni gelişmeleri takip ederek güncel kalmamızı hedefliyorum. Flutter ile mobil geliştirme yaparken bilgilerimi taze ve güncel tutmak amacıyla böyle bir içerik yazmaya karar verdim. Amacım bu terimleri kendi kendime öğrenmektense sizlere de ulaştırıp teknik bilgi kazandırmak veya var olan bilginizi tazelemek.

Dart, özellikle mobil ve web uygulamaları geliştirmek için tasarlanmış, genel amaçlı bir programlama dilidir. Google tarafından geliştirilen Dart, performansı, hızı ve kullanım kolaylığına odaklanan bir dil olarak bilinir.

Dart’ın başlıca özellikleri şunlardır:

  • Farklı platformlarda (örneğin, web tarayıcıları, mobil cihazlar) kullanılabilecek genel amaçlı bir programlama dilidir.
  • Yüksek performans ve hızlı çalışma özelliğine sahiptir.
  • Nesne tabanlı bir programlama dilidir. Sınıflar, kalıtım, arayüzler gibi OOP özelliklerini içerir.
  • Kapsamlı bir yazılım geliştirme kiti (SDK) ve zengin bir set araç sunar. Bu araçlar, geliştiricilere hızlı ve etkili bir şekilde uygulama geliştirmelerine olanak tanır.
  • Özellikle web uygulamaları için geliştirilen Flutter framework’ü ile yaygın olarak kullanılır. Flutter, Dart dilini kullanarak hızlı ve güzel mobil ve web uygulamaları oluşturmayı amaçlar.
  • Açık kaynaklı bir projedir. Bu, geliştiricilerin dilin gelişimine katkıda bulunmalarına ve kaynak kodunu incelemelerine olanak tanır.

Temel Sözdizimi

  1. Değişkenler ve Veri Türleri:

Dart’ta değişken tanımlamak için ‘var’, ‘int’, ‘double’, ‘String’, ‘bool’ gibi veri türleri kullanılır. Eğer veri türünü belirtmek istemiyorsanız ‘var’ anahtar kelimesini kullanabilirsiniz.

// Veri türü belirterek değişken tanımlama
int sayi = 42;
double piSayisi = 3.14;
String isim = "Elif";
bool dogruMu = true;

// Veri türü belirtmeden değişken tanımlama (var kullanımı)
var x = 10;
var y = "Merhaba";
  • var (Atanan değişken tipine göre şekil alır, o tipte bir veri olur)
  • int (Tam Sayılar): tam sayıları temsil eder
  • double (Ondalıklı Sayılar): ondalık sayıları temsil eder.
  • String (Metinsel ifadeler):
  • bool (True / False sonucu üretir)
  • dynamic (İstediğimiz tipte veriyi atabiliriz)

var anahtar kelimesi, Dart programlama dilinde değişken tanımlarken tip belirtmek yerine, değişkenin ilk atanan değere göre tipini otomatik olarak belirlemek için kullanılır.

var sayi = 42; // sayi otomatik olarak bir int olarak tanımlanır
var ondalikSayi = 3.14; // ondalikSayi otomatik olarak bir double olarak tanımlanır
var metin = "Merhaba, Dünya!"; // metin otomatik olarak bir String olarak tanımlanır

Dart, değişkenin ilk atanan değere bakarak uygun veri türünü belirler. var kullanımı, kodun daha esnek olmasına ve tip belirleme yükümlülüğünü azaltmasına yardımcı olabilir, ancak bazen kodunuzun okunabilirliğini azaltabilir. Uygun durumlarda kullanıldığında, var kullanımı kodunuzu daha kısa ve anlaşılır hale getirebilir.

int tam sayı türünde değerler tutar. Örnek olarak, -5, 0, 42 gibi değerleri içerebilir.

int tamSayi = 10;
int tamSayi2 = 258;

double ondalık sayıları temsil eden bir veri türüdür. Örnek olarak, 3.14, -0.5, 2.0 gibi değerleri içerebilir.

double ondalikSayi = 3.14;

Num dart gibi bazı dillerde, hem tam sayıları hem de ondalık sayıları temsil edebilen genel bir sayı veri türü bulunabilir.

num sayi = 42;
num ondalikSayi = 3.14;

dynamic tipi, çalışma zamanında değişkenin türünü belirlemenize olanak tanır. Yani, bir değişkenin tipi tanımlandığında değil, çalışma zamanında belirlenir.

dynamic degisken1 = 42;
dynamic degisken2 = "Merhaba, Dünya!";
dynamic degisken3 = true;

print(degisken1); // 42
print(degisken2); // Merhaba, Dünya!
print(degisken3); // true

dynamic tipi kullanımı, genellikle durumun bir değerin türünün bilinmediği veya değişebileceği durumlarda kullanılır. Ancak, mümkünse daha belirgin ve statik tipli bir tanımlama tercih edilir, çünkü statik tipli dil özellikleri derleme aşamasında hataları kontrol etmenize yardımcı olabilir ve kodunuzun daha sağlam olmasına katkıda bulunabilir.

bool boolean (mantıksal) veri tipini temsil eder. bool tipi sadece iki değeri alabilir: true (doğru) veya false (yanlış). Genellikle koşullu ifadelerde, döngülerde ve benzeri durumlarda kullanılır. Örneğin, bir ifade doğru mu yoksa yanlış mı kontrol etmek için bool tipini kullanabilirsiniz: Basit bir örnek :

bool dogruMu = true;
bool yanlisMi = false;

print(dogruMu); // true
print(yanlisMi); // false


bool kosul = (5 > 3);

if (kosul) {
print("Koşul doğru!");
} else {
print("Koşul yanlış!");
}


//Konsol Çıktısı:
// Koşul doğru!

String, metin veya karakter dizisi veri tipini temsil eder. Bir String değeri, bir dizi karakteri içerebilir. Dart'ta String ifadesi ile metinsel veriler işlenir.

String isim = "John";
String soyisim = 'Doe';

print(isim); // John
print(soyisim); // Doe

String ifadesi tek tırnaklar (') veya çift tırnaklar (") içinde yazılabilir. Örnekte olduğu gibi hem tek tırnaklar hem de çift tırnaklar kullanılabilir.

Dart’ta String ifadesiyle ilgili pek çok işlem yapılabilmektedir. Örneğin, iki String değerini birleştirmek için + operatörünü kullanabilirsiniz.

String ad = "John";
String soyad = "Doe";

String tamIsim = ad + " " + soyad;
print(tamIsim); // John Doe

Ayrıca, String ifadelerinde karakter dizisi uzunluğunu öğrenmek için length özelliğini veya belirli bir karaktere erişmek için indeksleme kullanabilirsiniz.

String mesaj = "Merhaba, Dart!";
int uzunluk = mesaj.length;
print("Uzunluk: $uzunluk"); // Uzunluk: 15

String ilkKarakter = mesaj[0];
print("İlk karakter: $ilkKarakter"); // İlk karakter: M

Dart’ta bir string türünü başka bir veri türüne dönüştürmek için farklı yöntemler kullanılabilir. İşte bazı örnekler:

int.parse: Bu fonksiyon, bir string ifadeyi integer türüne dönüştürmek için kullanılır. Örneğin:

String sayiString = "57";
int intSayi = int.parse(sayiString);

Bu örnekte, "57" string ifadesi int.parse fonksiyonu kullanılarak int türüne dönüştürülüyor ve intSayi adlı değişkene atanıyor.

Bu işlem sırasında, string ifade geçerli bir integer temsil etmiyorsa veya dönüşüm başarısız olursa, FormatException hatası alabilirsiniz. Bu nedenle, int.parse kullanırken girişin beklenen formatta olduğundan emin olmalısınız.

double.parse: Bu fonksiyon, bir string ifadeyi double türüne dönüştürmek için kullanılır.

String doubleString = "57.57";
double doubleSayi = double.parse(doubleString);

Bu örnekte, "57.57" string ifadesi double.parse fonksiyonu kullanılarak double türüne dönüştürülüyor ve doubleSayi adlı değişkene atanıyor.

double.parse kullanırken de aynı şekilde, string ifadenin geçerli bir double temsil ettiğinden emin olmalısınız.

Bu fonksiyonlar, kullanıcıdan alınan string girişlerini sayısal veri türlerine dönüştürmek veya dış kaynaklardan gelen verilerle çalışmak için sıkça kullanılır.

Bu konular, Dart dilinde temel programlama yapı taşlarını oluşturur. Sonuç olarak, Dart programlama dili, açık kaynak olması, performans odaklı yapısı, kolay öğrenilebilir sözdizimi ve gelişmiş araç desteği ile dikkat çekmektedir. Özellikle Flutter ile birleştirildiğinde, çeşitli platformlarda etkileyici ve hızlı uygulamalar geliştirmek için güçlü bir seçenek haline gelmiştir.

Dart Programlama temeller konusu şimdilik bukadar, buraya kadar okuğunuz için teşekkür ederim. Umarım faydalı olmuştur bir başka yazımda görüşmek üzere…

Daha fazla kaynağa göz atmak isterseniz aşağıdaki linklere göz atabilirsiniz:

--

--