Geliştirici’nin Rehberi
Özellikle son zamanlarda çok sıklıkla gördüğümüz veya duyduğumuz bir çok kavramanın küçük küçük akılda kalması için anlatıyoruz.
.ts : TypeScript uzantısıdır.(TS kısaca js projelerini type safe hale getirip projeyi daha okunaklı ve oop gibi mimarileri kurmamızı sağlar)
oop: Object-oriented Programing (yazılımları bir mimari altına toplayıp projenizi gerek geliştirmeler gerek değiştirmeler için yapı oluşturmanızı sağlar.Nesne’ler her yerde isteklerine göre kullanılıp gerek bellek yönetimi gerek kod okunması gerek lifecycle açısından her yazılım dilinde çok önemli encapsulation inheritance polymorphism konularını detayla)
inheritance : Kalıtım yani aslında bir elmalar sınıfınız var diyelim bu sınıftan elmanın en temel özellikleri (tadı ağırlığı veya mevsimi) özelliklerini alıp kırmızı . elma veya mor elma sınıfına dahil etmenizi ve bu özellikleri tüm elmalarda ortaklaştırmanızı sağlar.
polymorphism: çok biçimlilik bir nesnenin veya metodun birden çok şekilde kullanılmasını sağlar diyelim ki bir koş metodunuz var hızlı yavaş veya orta olarak adlandırmak için kullanabilirsiniz.
encapsulation: kapsülleme bize nesnelerimizi güvenlikli bir şekilde kullanma imkanı sağlar.Yani siz bir nesnenin get set metodlarını tanımlayıp bunlara kullanım senaryolarına göre tanımlamaları yapabilirsiniz.(diyelim ki elma get diyince %10 şekilde dönsün bunu işte get metodunda tanımlayıp set metodlarına elmayı verirsiniz)
.jsx : (JavaScripteXtension)javascript projelerinizin içerisinde xml syntax kullanma imkanı sağlar.normalde react geliştirken (React.createElement) kullanmanız gerekirken (<h1 classname />) gibi çok kolay ve alışa geldiğimiz bir yapı sağlar. jsx bunu transpiler bridge ile js ye ve react’ın anlayacağı yapıya çevirir.
.swift : Apple development yapıyorsanız sıkılıkla karşılacağınız bir uzantıdır.Swift programlama diline ait olduğunu bize söyler ve mac iphone ipad gibi cihazlara daha doğrusu sistemlere yazılım geliştirebiliriz
immutable-mutable :çok sıkla karşılaştığımız bir konu özellikle son zamanda.
immutable değişmez mutable değişebilir anlamına gelmektedir.
tanımlandığı yerde en core olmayı bekler diyelim ki bir buton mevcut elinizde ve bu özel bir tasarımı var sadece onpressle tetikliyor ve geçiyor ise işte burada bir immutable component tanımlayıp gereksiz class veya başka tanımlamlardan kaçmış oluruz.
Mutable için ise bir page düşünebiliriz değişkenler barındıran bir yapısı var ve her türlü kararın alındığı yerdir.
diyelim ki bir nesneniz var bunu sadece constructor metod’a oluşturup lifecyle boyunca değişmeyecek diyelim işte readonly const gibi property’lerle bu durumu sağlayabilirsiniz.Listelerde özellikle araya değer girdiğinde veya varolan listeye asla veri kaybı olmadan yeni değerler eklerken kullanılabilir ımmutable senaryosu.
pattern : desenler bir çok yazılımda bulunan en temel düzeyde ortaklaştırmayı ve aslında yılların tecrübeleriyle ortaya çıkabilecek sorunları önceden engellemek üzerine oluşturulmuş kalıplardır.
singleton pattern : diyelim ki bir neseniz var ve tüm sınıflarda bu nesnenizin değişmemesini ve hep aynı nesneyi kullanıyorsunuz.Her defasında tek tek oluşturmak yer kaybına yol açacaktır.Bu durumda statik class’lar ile o sınıftan bir tane referans oluşturarak global olarak çağırma ve kullanmayı olanak kırar.Diyelim ki service manager metodunuz var veya user kullanıyorsunuz uygulama boyunca tek bir statik nesneyle değişmez net bir nesne elde etmiş olursunuz.
factory pattern: fabrika tasarımı sınıflarımızda bize bir template ve dinamik yapı oluşturur.Bu sınıftan türeyenler bu yapıya uygun bir geliştirme yaparlar.Özellikle bende service call’larında base bir servis sınıfı tanımlayıp isteklerimi tek bir sınıftan yönetiyordum çok başarılı ve kullanışı çok hızlı muhakkak kullanmalısınız.
zeplin: özellikle kurumsal hayatta bulunmuş geliştiricilerin çok sıkıla psd veya adobe xd ile geliştirilmiş tasarımların platforma export alınarak developer’lara çok kolay kullanabileceği bir ortam oluşturur.İçerisindeki extensions ile react native’den xamarine reacta angulara component’lerin tasarım cıktısını kodsal olarak bir nebze verir.
dart: google tarafından 2010 release çıkan bu dil oldukça sadece olup güçlü bir oop yapısına sahip.Single inheritance yapısı mevcut.Özellikle mobilde ki bridge mantığını kaldırıp direk makine koduna yazması çok başarılı.kodlar arm ve x86 olarak derlenir ve android ios ta native çıktı vermeyi sağlar.Web için ise js cıktı üretir.AOT compilation özelliği ile çok performanslı bir development ortamı sağlar.Önceden eğer c# java c++ gibi dilleri kullanıdıysanız çok hızlı odaklanabilirsiniz.Reactive yaklaşımı ise rn benzer olup state güncellemerinde stream’lerde ui update’lerinde ek bir package olmadan çalıştırmayı sağlar.
deeplink: özellikle mobil dünyada uygulama içerisine eklenmiş notasyonlarla tetiklenerek çalışır.Misal bir web sitesine tıkladınız ve buradan uygulamaya geçiş veya wp den gelen mesajla bağlanılan instagram app’i gibi.
Originally published at https://medium.com on February 4, 2019.