2019'da takip edilecek İlginç Web Teknolojileri - Kodburada
Web geliştirme dünyası sürekli değişiyor ve devam eden her şeye yakından bakmak çok zor. Gelecek yıl hangi çerçeveler geçerli olacak? Ve web programlama için hangi programlama dili en uygun? Web geliştirme için altı yeni teknolojiyi tartışalım.
Bu makalede, ön uç (frontend) ile arka uç (backend) teknolojiyi birbirinden ayırıyoruz. Üç ön uç geliştirme çerçevesiyle başlıyoruz ve ardından üç arka uç geliştirme çerçevesini tartışıyoruz.
React.js ile geliştiriciler, her biri kendi “state” olan yeniden kullanılabilir bileşenler oluşturabilirler. Sayfada bir bileşenin güncellenmesi gerekiyorsa (örneğin, kullanıcı benzer bir düğmeyi tıklatırsa), yalnızca bir bölüm tam sayfayı yenilemeye gerek kalmadan React tarafından değiştirilir.
React bunun için bir “sanal DOM” kullanır. Bu, bellekte depolanan ve “real” DOM ile sürekli senkronize edilen bir kullanıcı arayüzünün temsilidir. Hangi tarayıcıyı kullandığınız fark etmez, sanal DOM React DOM her zaman daha hızlı çalışacaktır çünkü daha verimli çalışır.
Airbnb ve Netflix gibi büyük şirketler, React.js’i birkaç yıldır kullanıyor ve teknolojinin gittikçe daha fazla şirket tarafından benimsendiğini görüyoruz. Geliştiriciler arasında React’e olan ilgi çok büyük ve onu önümüzdeki yıllarda popülerlik kazanacak bir teknoloji haline getiriyor.
React’e ek olarak, hem iOS hem de Android için yalnızca bir kaynak kod kümesiyle mobil uygulamalar geliştirmeyi mümkün kılan bir framework olan React Native de vardır. Framework, React ile aynı teknik temele sahip ve bununla birlikte, web geliştiricilerin web sitelerine ve web uygulamalarına ek olarak mobil uygulamalar geliştirmeleri de çok daha kolay hale geldi ve bu, şirketler için ilginç bir gelişme oldu.
Mimarlık açısından Tepki ve Açılı ile benzerlik göstermesi nedeniyle, diğer frameworklerden kolay bir geçiş olmaktadır. Küçük boyutu (sadece 20KB), hızı ve esnekliği ile sevilen Vue.js, diğer ön uç frameworklere kıyasla daha iyi performans sunar.
Vue.js şu anda React veya Angular ile karşılaştırıldığında hala oldukça küçük bir pazar payına sahip. Bu nedenle Vue.js’de deneyime sahip geliştiriciler bulmak biraz daha zor olabilir. Vue, React veya Angular kadar popüler hale gelip gelmeyecek, beklemek ve görmek zorunda kalacağız, ancak geliştirici topluluğunun olumlu görüşleri ve Vue kullanımındaki büyüme nedeniyle, Vue.js’nin pozitif olarak gelişmeye devam edeceği düşünülüyor.
Yeni bir projeye başlarken jQuery her zaman ilk tercih olmayabilir, günde 300.000 indirme ile hala 2017’nin başına göre% 300’lük bir büyüme elde etmişlerdir. jQuery! Bu, bir kütüphanenin alakalı kalmak için mutlaka yeni ve havalı olması gerekmediğini göstermektedir. Belirli bir kütüphaneyi kullanma seçimi, tamamen kullanmak istediğiniz projenin türüne bağlıdır.
Ön uç web geliştirmedeki değişiklikler inanılmaz derecede hızlı gerçekleşiyor. Her şeyi takip etmek imkansız görünüyor, ancak en önemli çerçeveleri izleyerek ve anlayarak, yeni bir projenin başlangıcında bir fikir edinebilir ve daha iyi seçimler yapabiliriz.
Son yıllarda popülaritesinin çok arttığı bir programlama dili Kotlin’dir. Java’nın öğrenmesi kolay olan modern bir alternatifidir. Açık kaynaklı dil özellikle Google’ın Android için resmi olarak desteklenen bir dil olduğunu açıkladığında geçen yıl büyümeye başladı. Birçok şirket Android uygulamalarını Slack ve Netflix gibi Kotlin ile yazmaya başladı. Netflix’te kıdemli bir yazılım geliştiricisi olan Rob Fletcher şunları yazdı:
Pusher’in yaptığı bir araştırmanın gösterdiği gibi, Kotlin’in özellikle ilk yıllarda deneyimli geliştiriciler tarafından (2011’den beri) kullanıldığını görmek ilginçtir, ancak Google’ın duyurulmasından bu yana, genç geliştiriciler, özellikle de büyüklere neden olan öğrenciler büyüme. Ek olarak, geliştiricilerin çoğunun, Android uygulamaları oluşturmak için Kotlin’i kullanması, arka uç veya sunucu tarafı uygulamaları geliştirmek için de kullanılabilmesine rağmen, şu anda şaşırtıcı değildir.
İşlevsel programlama dili Elixir’de yerleşik Phoenix, geliştirici topluluğunda giderek daha fazla konuşulmakta olan nispeten yeni bir çerçevedir. Geliştiricilerin Phoenix’e bu kadar ilgi duyma nedenlerinden biri de hızlı performansı ile tanınmasıdır. Örneğin, Rails’te yaklaşık 1,5 saniye süren büyük bir JSON isteğinin işlenmesi, Phoenix’te yalnızca 400ms dir.
Bir teknolojinin, uygulamak istediğiniz proje türüne uygun olup olmadığını kontrol etmek önemlidir. Örneğin Elixir ve Phoenix, birçok bağlantının aynı anda işlenmesi gereken gerçek zamanlı uygulamalarda güçlüdür (örneğin, sohbet uygulamaları). Ancak çok fazla bilgi işlem gücü gerektiren uygulamalar için Elixir daha az uygun olabilir.
Elixir geliştiricilerin sayısı şu anda oldukça sınırlı. Elixir ve Phoenix nispeten yenidir ve çerçeve ile açık bir şekilde çalışan pek çok şirket yoktur. Bu gelecekte kesinlikle değişebilir ve bu yüzden Elixir ve Phoenix’i yakından takip etmelisiniz.
Facebook tarafından geliştirilen açık kaynak kodlu bir sorgu dili ve API oluşturmanın en modern yollarından biri olan GraphQL’i duymuş olabilirsiniz. GraphQL’in popülaritesi hızla artıyor ve Twitter, Shopify ve Amazon gibi büyük şirketler zaten teknolojiyle çalışmaya başladı.
GraphQL, geliştiricilerin çok güreşdiği bazı gerçek sorunlar için çözümler sunar, çünkü veri yükleme ve işlemeyi çok daha kolaylaştırır. Bir REST API ve GraphQL arasındaki önemli farklardan biri, GraphQL’in tam olarak hangi verileri API’den almak istediğinizi belirtme imkanı sunmasıdır. API’yi çağıran yazılımın, ihtiyaç duyduğu tüm verileri tek bir istekte almasını sağlar.
Uygulama birçok yuvalanmış model ve ilişki içerdiğinde bu kullanışlı olur. GraphQL, örneğin mobil uygulamalar geliştirirken yalnızca ilgili verileri yüklemesine ve böylece mobil ağdaki yükü azaltmasına yardımcı olur. GraphQL, REST API’lerinin sahip olduğu ve hem arka uç hem de ön uç için fayda sağlayan genel giderlerin birçoğunu önemser.
Bir geliştirici olarak, mevcut teknolojik gelişmelerden mümkün olduğunca haberdar olmak önemlidir. Fırsatlara bakmalı, ayrıca yeni teknolojinin gerektirdiği olası riskleri de göz önünde bulundurmalısınız. Düzenli olarak farklı çerçevelerle denemek, potansiyel faydaları ve aynı zamanda sınırlamaları deneyimlemeye yardımcı olur.
Bir geliştiricinin çalışması temel olarak teknik zorlukları çözmekten ibarettir ve bu nedenle beraber çalışacak verimli olan ve arkasında büyük bir topluluğa sahip olan kanıtlanmış teknoloji ile çalışmanın önemi büyüktür.