CategoryFramework

SwiftUI: İlk Bakış

Merhaba arkadaşlar bu yazımda sizlere SwiftUI üzerinde yapmış olduğum ilk izlenimlerden bahsedeceğim. Bildiğiniz üzere SwiftUI, Apple tarafından WWDC19 konferansında duyuruldu.

En başta tekrardan bir yeni bir dil mi öğrenicem diye düşünürken SwiftUI üzerinde araştırmalar yapmaya başladım ve Apple’ın sitesinde gördüğüm kod parçacığı aslında çok komplike olan işleri az kod yazarak halledebileceğimizi göstermiş oldu.

Apple SwiftUI sayfasından alınmıştır.

SwiftUI Nedir ?

Better apps, Less Code

SwiftUI, tüm Apple cihazları için az kodla çok iş yapmamızı araçlar ve APIler ile gelişmiş kullanıcı arayüzleri oluşturmamızı sağlayan bir Framework olduğunu söyleyebiliriz.

SwiftUI Üzerinde İlk Denemelerin

SwiftUI sadece iOS 13’ü destekliyor ve iOS 13 üzerinde geliştirmek için XCode 11 Beta sürümünü kurmamız gerekiyor fakat XCode 11 Beta sürümünü kurmak için de macOS Catalina Beta sürümünü kurmamız gerekiyor.

İlk örnek kodlara baktığımda herhangi bir fikrim yoktu fakat SwiftUI üzerinde çalışmalara başlayınca aslında öğrenmenin kolay olduğunu ve yazdığımız kodların temiz ve basit olduğunu farkettim.

SwiftUI Kullanmaya Başladıktan Sonra Farkettiğim Yenilikler

Kendi yaptığım denemelerde UIKit ile SwiftUI arasında oluşan bariz farkları ve özellikleri listelemek gerekirse şu şekilde olur,

AutoLayout Artık Yok

Bildiğiniz üzere UIKit kullanırken tasarımlarımızdan AutoLayout yani sürükle bırak özelliği vardı fakat SwiftUI ile birlikte storyboardlarımızı tamamen kodlayarak hazırlıyoruz.

Karanlık Mod

Açık tema haricinde artık uygulamalarınız geceleri gözlerinizi yormayacak karanlık temaları olabiliyor. Artık geliştiriciler uygulamalarına karanlık tema ekleyebiliyorlar.

Canlı Önizleme

XCode 11’de SwiftUI kullanırken yazdığımız kodların canlı önizlemesini herhangi bir build işlemi yapmadan görebiliyoruz. Bu durum işlemcilerimizi biraz zorlasada bize zamandan kar ettiriyor fakat şu anda işlemcilerimizi zorlama durumu beta süreci içinde geçerli olacak bir durum olabilir.

SwiftUI ve UIKit’i Birlikte Kullanabilirsiniz

Üzülmenize gerek yok SwiftUI’in alması gereken çok yol var. Bu yüzden de UIKit’e tamamen elveda demiyoruz. Ayrıca Xcode 11 ile SwiftUI ile UIKit’i birlikte kullanabiliyoruz

Özet,

Bence SwiftUI’in herkes tarafından kullanılmaya başlaması için en azından bir 2-3 yıl var çünkü şu anda göründüğü kadarıyla sadece iOS 13 için ve macOS Catalina ile kullanılabiliniyor fakat bizim gibi geliştiricilerin bu SwiftUI’ı hızlıca öğrenmeye başlaması gerekiyor.

Şunu da unutmamak gerekiyor ki SwiftUI konusunda öğrenebileceğimiz bir çok şey bulunmaktadır. Bence bu yeni teknolojiyi projelerimizde kullanmamıza daha zaman var fakat erkenden öğrenmeye başlamak ise bize avantaj sağlayacaktır. SwiftUI hakkında daha fazla bilgi edinmek için buraya tıklayabilirsiniz.

Eğer bu yazımı beğendiyseniz ve Apple teknolojileri hakkında yazmış olduğum diğer yazıları merak ediyorsanız buraya tıklayınız.

Önce Hangisi Öğrenilmeli ? Yazılım Dili mi ? Framework mü ?

Bu yazımda bir çok kişinin aklına takılan sorulardan biri olan Önce Yazım Dilini mi ? Framework’ü mü Öğrenmeliyim ? sorusuna cevap vereceğim.

Önce temelleri öğrenin

Hayatınız boyunca bir şeyi öğrenmeye başlarsanız önce bu işin disiplinin temellerini öğrenmeye başlarsınız bu programlama dillerindede böyle olmalıdır öncelikle o yazılım dilinin temellerini öğrenmeniz gereklidir. Genel olarak koşul ifadeleri, döngüler(yazılım diline bağlı olarak), değişkenler ve genel yazılım kuralları birbirine benzer konseptler kullanmaktadır fakat belirli farklıklara sahiptir öncelikle bunlara hakim olmamız gereklidir.

Tüm yazılım dilleri gerçek dünya sorunlarını çözmek için üretilmiş olsa bile bir yazılım dilini tek başına ele alırsanız hepsi farklı farklı sektörlerde çalışmak için hazırlanmıştır.

Javascript’i ele alıcak olursak Javascript web sitelerinde çalışmak üzere üretilmiştir ve Javascript gibi diğer tüm yazılım dilleride tarihde belirli bir problemi çözüm olmak amacıyla üretilmiştir. Bu durum da uğraştıkları sektöre ait küçük bir dünya oluşturmaktadır.

Frameworkler Birer Araçtır

Belirli bir yazılım dilinin kendine özgü fikirlerini öğrenmeye başladıktan sonra Frameworklerin birer araç olduğunu da anlamaya başlayacaksınız. Bunu anlamaya başladığınız zaman ise Frameworklerin sizi daha belirli bir yazılım dilinde daha üretken bir geliştirici olmaya ittiğini fark edeceksiniz.

Bir çok framework’ün yeniden kullanabilir kod ve kütüphaneleri size yardımcı olmak amaçlı getirdiklerini fark etmeye başlayacaksınız. jQuery’nin kendi kütüphanesi ve dökümanları varken NodeJS’in ise kendine özgü ve dökümanları vardır.

Kısacası, önce yazılım dilini öğrenmek onun çalıştığı sektöre hakim olmak her zaman ilk önceliğiniz olmalı çünkü bunları öğrendiğiniz zaman bu yazılım dili ile oluşturulmuş Frameworklerin de size daha anlaşılır olmaya başladığını fark ediceksiniz.

Ayrıca hem framework’ü hem de yazılım dili hakkında ön bilgiler öğrenirken oluşan baş ağrısı ve kafa karışıklığının da önüne geçmiş olursunuz.

jQuery Nedir ?

Bu yazımda jQuery nedir ? sorusunun cevabını bulacağız.4848-5

jQuery, 2006 yılında John Resing tarafından geliştirilmeye başlanmış şu an ise geniş bir jQuery ekibi tarafından geliştirilmeye başlanmıştır.

jQuery IE6 ve tarayıcıların uyumsuzluklarına çözüm getirmek amacıyla geliştirilmeye başlanmıştır şu an ise az ve kolay öğrenilebilir olması ve Javascriptle satırlarca yazabileceğiniz kodlardan bizi kurtaran bir Syntax’a sahip olduğu için popülerliğini gitgide artmıştır.

jQuery, HTML ve CSS ile yapamayacağımız işleri çok kolay anlaşılır bir şekilde yapmamızı sağlamaktadır .

jQuery’i öğrenmek ise oldukça kolaydır temeli Javascript olsa bile kendi has bir Syntax’ı vardır fakat jQuery ile kodlamaya başlamadan önce jQuery kütüphanesini sitemize eklememiz gerekmektedir.

Şimdi bu çokça bahsettiğimiz jQuery’nin Syntax’ını kısaca açıklamak gerekirse

$(element/class/id).yapılacakIslem();

şeklindedir. jQuery çok uzun süredir geliştirildiği için çok geniş bir kütüphanedir ve çok fazla dökümanı vardır. Bu dökümanlara ulaşmak için tıklayınız.

Kendi bloğumda bulunan DatePicker yazısında uygulama da jQuery kullanılarak geliştirilmiştir.

Framework ve MVC Yapısı Nedir ?

Framework Nedir ?

Framework, MVC yapısı kullanarak içinde bir çok gelişmiş özelliği hazır bulunduran bir çalışma ortamıdır. İçinde bir çok fonksiyon barındıran Frameworkleri bir alet kutusu düşünmek gibi mümkün.

Neden Framework Kullanmalıyız

Peki neden Framework kullanılır diye bir soru soracak olursanız birden fazla cevap alırsınız. Bu cevaplar;

  • Takım çalışmalarına elverişli olması
  • İçlerinde bulunan kullanışlı fonksiyonlar ile tekerleği tekrar icat etmemize gerek kalmaması
  • Başkasının yaptığı projenin ileride daha anlaşılır olması

MVC Nedir ?

Şimdi ise yukarıda çokça bahsettiğimiz bu MVC’den bahsetmek gerekirse.

MVC, Model-View-Controller kelimelerinin baş harflerinden oluşturulmuş bir kısaltmadır.

Model Nedir ? Ne işe yarar ?

Geliştirdiğimiz uygulamanın mantığı burada çalışır. Controller tarafından yapılan işlemler burada geliştirilir ve geri döndürülür. Yani genel olarak fonksiyonlarımız burada bulunur.

Controller Nedir ? Ne işe yarar ?

Burası adında anlaşılacağı üzere uygulamamızın karar mekanizmasıdır. Belirlediğiniz filtrelerden hangi verinin geçeceğini ve işleneceğini gösterir.

View Nedir ? Ne işe yarar ?

Geliştirdiğimiz uygulamanın kullanıcının gördüğü kısım buradadır yani html, css, js, resim dosyalarımız burada tutulur.

Şimdi kafanızda biraz daha rahat anlaşılabilmesi için bir örnek ile bu Model-View-Controller’ı açıklayalım. Bir blog uygulaması yapıyorsanız.

Model kısmında blog yazılarımıza uygulayabileceğimiz ekle, sil, düzenle, yayınla gibi özellikleri barındırırız.

Controller kısmında bu blog yazılarının listelenme işlemlerini sağlarız

View kısmında ise bu blog sitesinin tasarımlarını barındırırız.

MVC yapısı uygulamaya içe içe karışmış kodlardan arındırıp esneklik kazandırıyor ve geliştirdiğiniz sistemin tekrardan bir başkası tarafından incelendiği zaman daha anlaşılabilir hale gelmesini sağlıyor.