Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Dart Programlama Dili Dersleri

via Udemy

Overview

Google Flutter ile iOS ve Android uygulamalar tasarlayabilmek için öncelikle Dart programlama dilini öğrenmelisiniz.

What you'll learn:
  • Dart Programlama Dili hakkında yer yer ileri düzeye varan bilgiler edineceksiniz.
  • Asenkron Programlama dersleri ile Gecikmeli İşlemler (Future), Akış (Stream) temelli uygulamalar ve Paralel Çalışan (Multi Thread) kodlar yazabileceksiniz.
  • Programlamanın genel mantığı hakkında bilgi sahibi olacaksınız. Hızlı çalışan, kolay öğrenilen, Google destekli bir programlama dili öğrenmiş olacaksınız.
  • Websocket ve HttpServer dersleri ile çok çeşitli Server-Side (Sunucu Taraflı, API vb. gibi) uygulamalar geliştirebileceksiniz.

DART DÜNYASINA HOŞ GELDİNİZ!


DART, Google tarafından geliştirilen genel amaçlı bir programlama dilidir. Dart kullanarak çok kısa bir sürede server kurulumu yapabilir, birçok platformda çalışabilecek web projeleri ve mobil uygulamalar geliştirebilirsiniz. Ayrıca internete bağlanan eşyalar, yani geleceğin teknolojisi olan "Internet Of Things" için de çok hızlı çalışan yazılımlar üretebilirsiniz.


Google, programcıların geçmiş tecrübelerine dayanarak, programlama dillerinin tüm güzel özelliklerini bir araya getirdi ve bir programlama dilinin ihtiyacı olabilecek her şeyi Dart üzerinde topladı. Dart hızlı olduğu kadar, pratik bir (Syntax) yazım diline de sahip... Eğer daha önce C++, C#, Java veya JavaScript dilinde projeler gerçekleştirdiyseniz, Dart programlama dilini öğrenmeniz fazla uzun sürmeyecek, hiçbir yabancılık çekmeyeceksiniz. Dart programlama dilinde çalışmak için, özel bir editör de kullanmanız gerekmiyor. Daha önceden aşina olduğunuz, popüler olan bütün editörleri (VSCode, IntelliJ, Android Studio vb. gibi) Dart projeleriniz için de kullanabilirsiniz.


Bildiğiniz gibi mobil dünya, günden güne çok büyük bir hızla gelişmekte, eskisine göre internette daha fazla zaman geçirmekteyiz. Çünkü artık her yerden internete girebiliyoruz. Bu da mobil uygulamaların hayatımızdaki önemini daha da arttırıyor. Mobil kullanıcı sayısı arttıkça, mobil uygulamalardan beklenen özellikler de artıyor elbette... Mobil uygulamalar, kaliteli bir dizayna sahip olmakla birlikte, çekici animasyonlarla zenginleştirilmiş ve en önemlisi hızlı çalışan yapılar olmak zorunda. Her şey hızlanırken, yavaş çalışan bir uygulamayı hiç kimse kullanmak istemez! Dart, diğer diller ile yapılan birçok (Benchmarking) karşılaştırma testi ile performansını kanıtlamış durumdadır. 2011 yılında doğan Dart, kendisinden yıllar önce oluşturulan bir çok programlama dilinden daha hızlı sonuçlar vermektedir.


Google, Flutter projesi ile özellikle mobil uygulama tasarımında bir devrim meydana getirdi. Flutter ile birçok (Widget) hazır kütüphaneyi kullanarak tasarlayacağınız mobil uygulamada, her platform için ayrı ayrı kod yazmanıza gerek kalmıyor. Oluşturacağınız bir mobil uygulamayı; hem IOS, hem de Android sistemlerde çalıştırabiliyorsunuz. Flutter, Dart alt yapısını kullandığı için hem tasarım olarak, hem de performans olarak çok iyi uygulamaların geliştirilmesini sağlıyor. Bu açıdan Flutter'da mobil uygulama projesi gerçekleştirebilmek için Dart programlama dilinin de çok iyi öğrenilmesi gerekiyor.


En çok yapılan hatalardan biri, Dart programlama dilini iyi öğrenmeden, Flutter üzerinde mobil uygulama geliştirmeye çalışmaktır. Birçok kullanıcı, bir an önce sonuca ulaşmak istediği için Dart Programlama Eğitimi'ni önemli görmüyor veya es geçiyor. Bu çok büyük bir hatadır. Bu eğitim seti ile Flutter'da desktop/mobil uygulama eğitimi almaya hazır hale geliyorsunuz. Çünkü Dart programlama dili iyi öğrenilmeden, Flutter üzerinde yapılacak bir proje, ne yazık ki sonuca ulaşamıyor. Kullanıcıların birçoğu, bir takım görsellerden, buton, menü veya ikonlardan oluşan amaçsız uygulamalar geliştirmekten öteye gidemiyor. Görsel olarak bir şeyler tasarlayabiliyor olmakla, çalışan ve faydalı bir uygulama yapmak aynı şey değildir!


Flutter ile mobil uygulamada bir takım materyalleri kullanarak, çok kısa zamanda şık ve çekici bir sayfa oluşturabilirsiniz. Fakat bu mimarinin arka planında, gerçekleştirilmesi gereken çok fazla iş vardır. Aklınıza gelen bir fikri mobil uygulamaya dökebilmek için tasarımdan önce, yeterli bir programlama bilgisine sahip olmanız gerekiyor.


Dart ile sadece mobil dünyada değil, web tasarım dünyasında da bir adım öndesiniz. Yine Google'ın tasarladığı "Material Design" kütüphanesini hazır olarak hem Flutter'da, hem AngularDart projelerinizde kullanabilirsiniz.


Google'ın, üzerinde çok ciddi yatırımlar yaptığı Dart programlama dili, yeni güncellemelerle günden güne gelişmektedir. Google, bu amaçla hem kendi etkinliklerinde, hem de başka çevrelerce düzenlenen etkinliklerde, hem Dart dilini hem de Flutter'ı tüm dünyaya tanıtma çalışmaları yapıyor.


Google yakın bir zamanda Fuchsia (Fuşya) adlı bir işletim sistemi çıkaracak. Bu işletim sisteminin, tasarım ve performans başta olmak üzere, tüm standartların üzerinde olması bekleniyor. Fuschia işletim sisteminin arayüzü uygulamaları da Flutter ile (Dolayısıyla Dart programlama diliyle) gerçekleştiriliyor.


Fuschia'nın yanı sıra, birçok büyük şirket Flutter ile (dolayısıyla Dart programlama diliyle) şimdiden çalışmaya başlamış durumdadır. Bunların en başında AliBaba geliyor. Milyonlarca kullanıcısı olan AliBaba, yeni mobil uygulamasını Flutter ile tasarladı.


Sözün kısası; Dart, gelecekte internete bağlanan her cihazda kullanılabilir olacak. Bu yönüyle de rakiplerine fark atıyor. Kolay, anlaşılabilir ve sade yazım şekliyle, hiçbir programlama bilgisi olmayan kişilerin de kolayca öğrenebileceği bir yapıya sahip olan Dart için, "geleceğin programlama dilidir" diyebiliriz.


KURS İÇERİĞİ


BÖLÜM 1. SUNUM (Presentation)

1.1. Dart Programlama Dili ve Geleceği

1.2. Neler Öğreneceksiniz?


BÖLÜM 2. KURULUMLAR (Installing)

2.1. Dart SDK Kurulumu

2.2. Visual Studio Code Kurulumu


BÖLÜM 3. DART PROGRAMLAMAYA GİRİŞ (Introduction to Dart)

3.1. VS Code ile ilk kodun çalıştırılması

3.2. DartPad

3.3. PowerShell

3.4. Comments (Yorumlar)


BÖLÜM 4. DEĞİŞKENLER VE TÜRLERİ (Variables and Types)

4.1. Var, String, Num

4.2. Int, Double

4.3. Bool

4.4. Dynamic, Null

4.5. Object ve Metodlar

4.6. Const, Final


BÖLÜM 5. OPERATÖRLER (Operators)

5.1. Aritmetik Operatörler

5.2. Atama Operatörleri

5.3. Arttırma ve Azaltma Operatörleri

5.4. Eşitlik ve İlişkisel Operatörler

5.5. Type Test Operatörleri

5.6. Mantıksal Operatörler


BÖLÜM 6. KOŞULLU İFADELER (Conditional Expressions)

6.1. If Else

6.2. Özel Koşullu İfadeler

6.3. Switch Case

6.4. Assert


BÖLÜM 7. FONKSİYONLAR (Functions)

7.1. Fonksiyon Kavramı

7.2. Fonksiyon Parametreleri (Arguments)

7.3. Pratik Fonksiyon (Fat Arrow)

7.4. Anonim Fonksiyon (Lambda Expression)

7.5. Fonksiyon Hiyerarşisi


BÖLÜM 8. KOLEKSİYONLAR (Collections)

8.1. Iterable

8.2. List

8.3. List Örnekleri

8.4. Unmodifiable List (Değiştirilemez Liste)

8.5. Set

8.6. HashSet

8.7. Queue

8.8. Lazy Iterable Metodları

8.9. Map

8.10. HashMap

8.11. Map Örnekleri

8.12. Unmodifiable Map (Değiştirilemez Map)

8.13. Set (Dart Update 2.2)


BÖLÜM 9. DÖNGÜLER (Loops)

9.1. For Döngüsü

9.2. For In Döngüsü

9.3. ForEach Döngüsü

9.4. While Döngüsü

9.5. Do While Döngüsü

9.6. Break, Continue


BÖLÜM 10. SINIFLAR (Classes)

10.1. Class Benzeri Kullanım

10.2. Class Kavramı

10.3. Constructors (Yapıcı Metodlar)

10.4. Setter, Getter

10.5. Inheritance (Kalıtım)

10.6. Super Constructor

10.7. Initializers (Başlatıcılar)

10.8. Final Initializer

10.9. Factory Constructor

10.10. Abstract Class

10.11. Static

10.12. Interface (Implement Class)

10.13. Operator Metodları

10.14. Comparing Objects (Nesnelerin Karşılaştırılması)

10.15. Singleton

10.16. Mixin

10.17. Enum


BÖLÜM 11. HATA AYIKLAMA (Error Handling)

11.1. Exceptions

11.2. Exception Class


BÖLÜM 12. ASENKRON PROGRAMLAMA (Asynchronous Programming)

12.1. Future (Gecikmeli İşlemler)

12.2. Async Await

12.3. Future Wait

12.4. Future Then

12.5. Timers (Zamanlayıcılar)

12.6. Streams (Akışlar)

12.7. Stream Broadcast

12.8. Stream Transform

12.9. Async* Yield

12.10. Async Await For

12.11. StreamController (Akış Kontrolcüsü)

12.12. Isolates (Multi Threading)


BÖLÜM 13. HAZIR KÜTÜPHANELERİN KULLANIMI (Libraries and Packages)

13.1. Kütüphane Kavramları

13.2. dart:core

13.3. dart:async

13.4. dart:math

13.5. dart:convert

13.6. dart:io >> (Dosyadan Veri Okuma - File Reading)

13.7. dart:io >> (Dosyaya Veri Yazma - File Writing)

13.8. dart:io >> (Klasör/Dizin İşlemleri - Directory)

13.9. File Class, Directory Class Örnekleri

13.10. Package Kurulumu (pubspec.yaml)

13.11. Package: http

13.12. Package: image


BÖLÜM 14. DART SERVER PROGRAMLAMA (Dart Server Programming)

14.1. Standart Input/Output Streams (stdin, stdout, stderr)

14.2. Process Class (Sunucuda Program Çalıştırma - Execute Programs in Server)

14.3. HttpServer Class

14.4. WebSocket


BÖLÜM 15. DART SQL PROGRAMLAMA (Dart SQL Programming)

15.1. Package: mysql1

15.2. Package: dart_sqlite3


BÖLÜM 16. EK KONULAR (Bonus)

16.1. dart2native ile .exe dosyası yapmak



Taught by

Zeki ÇIPLAK

Reviews

4.4 rating at Udemy based on 291 ratings

Start your review of Dart Programlama Dili Dersleri

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.