Web ve uygulamaların gelişimi hızla değişiyor. Bu durum kullanıcı davranışı ve kullanıcı ihtiyaçları tarafından yönlendiriliyor ve buna ayak uyduramazsanız, ürünleri ve projeleri popüler ve kullanılabilir tutmanız biraz zor olabilir. Geri planda kalmamanın ise en iyi yolu, becerilerinizi güncel tutmakı ve her zaman yenilikleri yakından takip etmektir. Geleceği öngöremezsin ama kendini hazırlayabilirsin.

İşte web ve uygulama geliştiricilerinin 2020’de konsantre olabileceğine inandığımız 5 ana uzmanlık alanı.

 

Yapay zeka

Şu anda uygulama büyümesinde yapay zekanın değerini abartmak zor. Kesinlikle çok heyecanlı bir alan, ama bunun nedeni çoğunlukla her yerde mevcut olması. Aslında birçok kullanıcı, yapay zeka veya makine öğrenimi sistemleriyle olan ilişkilerini hiçbir dereceye kadar bilmeyecek. En iyi kullanıldığı zaman olduğunu da söyleyebilirsin.

Web ve uygulama geliştiricilerin yapay zekayı kullanma yolları çok geniştir ve sürekli artmaktadır. Kişisel öneriler belki de en belirgin olanıdır, ancak yaratma alanında AI ile mümkün olanın sınırlarını gerçekten zorlayan sohbet robotları ve artırılmış gerçekliktir.

Öncelikle bir web geliştiriciyseniz, yapay zeka kulağa çok zor gelebilir. Ancak, onu verimli bir şekilde kullanmak için bilgisayar bilimi veya matematik alanında bir dereceye ihtiyacınız olması gerekmez. Azure’un Bilişsel Hizmetleri, Amazon’un Rekognition’ı ve Google tarafından mobil geliştiriciler için geliştirilen ML Paketi’nden, artık makine öğrenimi teknolojisini kutudan çıkar çıkmaz kullanmak için birçok platform ve araç bulunmaktadır.

Yeni programlama dilleri

Bu yılın başlarında, çok dilli programlamanın “geliştiricilerin zorlu mühendislik problemlerini çözmek için doğru dili seçmelerine” nasıl izin verdiğini (birden fazla dil kullanabilme) hakkında yazmıştım.

Bu özellikle, giderek karmaşıklaşan uygulamaları ve web sitelerini mümkün olan en zarif ve en temiz şekilde oluşturmaktan sorumlu olan web ve uygulama geliştiricileri için geçerlidir. TypeScript ve Kotlin gibi dillerin tanıtımı, güncel programlama becerilerini korumanın önemini kanıtlıyor. Ek olarak, JavaScript ve Java gibi ortak çekirdek diller olduğu gibi, artık başa çıkamadıkları bazı görevler olduğunu vurguladıklarını da iddia edebilirsiniz.

Yani bu, 2020’de en sevdiğiniz programlama dillerinden kurtulabileceğiniz anlamına gelmez. Ancak bu, yetenek setinizi geliştirmenin mükemmel bir yolunun yeni bir dil öğrenmek olduğu anlamına gelir.

Ulaşılabilirlik

Çok uzun süredir göz ardı edilen bir konu Çevrimiçi erişilebilirliktir. 2020’de bunun değişmesi gerekiyor.

Nasıl gözden kaçırıldığını görmek zor değil. Yazılım üretme baskısı yüksekse, belirli tasarım seçimlerinin çeşitli kullanıcı türleri üzerindeki etkisini düşünmek neredeyse kesinlikle geliştiricinin hedeflerinin altına inmeye zorlanacaktır. Ama bir şey varsa, iki yönlü bir yaklaşıma ihtiyacımız var. Bir yandan, geliştiricilerin kendilerini web kullanılabilirliğinde ustalaşmaya adamaları gerekir, ancak bunun anlamını teknik olmayan ekip üyelerine iletirken, aynı zamanda evanjelist olmaları gerekir.

Bunun avantajları önemli olabilir: daha kapsayıcı bir dijital ortama doğru büyük bir adım olabilir, ancak aynı zamanda geliştiricilerin kişisel bir bakış açısıyla tasarım kararlarında daha bilgili ve çok yönlü olmalarına yardımcı olacaktır. Ve hiç kimse bunun için gerçek bir liderlik almadığı için, geliştiricilerin liderlik hatlarını göstermeleri için mükemmel bir fırsat.

 

JAMStack ve (bir tür) statik web siteleri

Kutudan çıkardığınızdan daha kişiselleştirilmiş bir şey yaratmaya çalıştığınızda, WordPress gibi geleneksel CMS’ler geliştiriciler için bir acı olabilir. JAMStack’in (Netlify tarafından geliştirilen bir kavram) bu kadar popüler olmasının nedenlerinden biri budur. Web geliştiricilerine JavaScript, API’ler ve işaretlemeyi birleştirerek çok hızlı bir şekilde kararlı, verimli web siteleri oluşturmanın bir yolunu sunar.

JAMstack, bir dereceye kadar yeni nesil statik web siteleridir, ancak JAMStack siteleri, API’ler aracılığıyla sunucu tarafı verilerini çağırdıkları için tam olarak statik değildir. Geliştiriciler daha sonra, genellikle statik site oluşturucuları (Gatsby.js gibi) veya araçlar oluşturarak önceden oluşturulmuş bir ön uç görevi görmesi için şablonlu işaretlemenin yardımına başvurur.

JAMstack’in bir yaklaşım olarak avantajları iyi belgelenmiştir. Belki de en önemli şey, geliştiriciler için çok güzel bir deneyim sağlamasıdır. Kullanmak istediğiniz kaynaklarla ve hâlihazırda kullanıyor olabileceğiniz hizmetlerle yaratmanıza ve entegre etmenize yardımcı olur ve diğer geliştirme yaklaşımlarıyla birlikte gelebilecek karmaşıklık derecesini en aza indirir.

 

Durum Yönetimi

Son zamanlarda devlet yönetimi hakkında konuştuk – aslında pek çok insan bundan bahsetti. Bunun ne anlama geldiğine derinlemesine girmeyeceğiz, ancak uygulamanın artan karmaşıklığı uygulamalarımızda gerçekte neler olup bittiğine dair tek bir gerçek kaynağına ulaşmayı zorlaştırdıkça sorun gelişti.

Henüz yapmadıysanız, son birkaç yılda uygulama durumunun üstesinden gelmek için geliştirilen bazı tasarım trendlerini ve tekniklerini öğrenmek önemlidir. En yaygın iki tanesi, Flux ve Redux, React ile çok yakından ilişkilidir, ancak Vuex, Vue geliştiricileri için öğrenmeye değer.

Bazen, devlet yönetimi hakkında düşünmek beyin burkucu gelebilir. Bununla birlikte, onunla başa çıkarak projelerinizden daha sorumlu hissetmenize de yardımcı olabilir.