Küresel toplumun şeklini temelden değiştiren bir pandemiyi atlattıktan sonra, kendimizi 2022’nin orta noktasında buluyoruz. Son iki yılın en dikkate değer değişimlerinden biri, zorunluluktan dolayı dijital altyapıya ne kadar güvendiğimizdi. Sistem, onu sürdüren insanlar yeni çalışma yöntemleri icat etmek için mücadele ederken bile takdire şayan bir şekilde ayakta kaldı.
Web’in KKD’den sanal düğünlere kadar her şeyi sağlayabileceğini öğrendik. Çok az şey rahatlatıcı olduğunda, çoğumuz dijital kozalarımıza daha da derinden çekildik. Web kullanımı hızla artarken, yeni fay hatları ve iyileştirilmesi gereken alanlar keşfettik. Şimdi, çevrimiçi deneyimi yükseltmek ve geliştirmek için yeni bir teknoloji dalgası ortaya çıkıyor. Şimdi bildiğimiz şekliyle interneti yeniden inşa etme çabalarında mevcut eğilimlere bir göz atalım.
Eğlence ve kâr için kodlama
Hemen hemen her yazılım geliştiricisine, geliştirmeyi henüz bitirdikleri programın yeterince iyi olup olmadığını sorabilirsiniz ve daha iyi olabileceğini söyleyeceklerdir. Bu, bir müzisyenin sonunda sadece bir albüm yayınla, yapılmış saymasalar bile. Veya John Lennon’un bir keresinde Beatles’ın zamansız yapıtları hakkında söylediği gibi, “Yeniden kaydetmek istemeyeceğim bir tane yok”
Bundan, sürekli iyileştirmenin başlıca motivasyonlarından birini anlayabiliriz: Yazılım mühendisleri, sanatsal ruha benzer bir şey tarafından yönlendirilir, mükemmel bir şey inşa etmek için önlenemez bir dürtü. devleti denir Sanat, Nihayet. Sıklıkla her şeyin kod okunabilirliği ve sürdürülebilirliği ile ilgili olduğunu söyleriz. Gerçekte, çoğumuz aynı zamanda doğuştan gelen değerli bir şey yaratma arzusuyla motive oluyoruz.
Tabii ki, mükemmellik tek motive edici değildir. Kâr başka bir faktördür. Yenilikçilere karşı acımasız ihtimallere rağmen, yıldırım düştüğünde, finansal faydalar şaşırtıcı olabilir. Kodlayıcı zihniyeti iş zekasıyla birleştirmek herkesin bildiği gibi zor olsa da, ikisini bir araya getirmek potansiyel olarak bu şimşeği bir şişede yakalayabilir.
Yazılım geliştirme trendleri birleşiyor
Bu güçlü motive edici güçler etkilerini endüstrinin potasında işledikçe, hızla değişen bir kalkınma ortamı elde ediyoruz. Yazılım geliştirmedeki en etkili trendlerden bazılarına ve şu anda nasıl bir araya geldiklerine bakalım.
Birleşme: 2022’de yazılım geliştirmeyi şekillendiren teknoloji trendleri.
Bulut benimseme ve üst düzey altyapı
Bulut harcamalarının artmaya devam ettiği tartışılmaz. Aslında, bulut harcamaları son zamanlarda tüm BT harcamalarının yarısını geçti. Nedeni basit: Sanallaştırılmış altyapı ve araçlar, birçok ihtiyaca daha çevik bir çözüm sunuyor. Büyüleyici olan, bulut kullanımının nasıl geliştiğidir.
Bulutta barındırılan, dinamik sanal makineler (hizmet olarak altyapı veya IaaS olarak da bilinir) fikri güçlüydü, ancak gelişen bir tuval üzerindeki ilk taslak olduğu ortaya çıktı. PaaS ve sunucusuz işlevler, sonraki mantıksal adımlardır. Ayrıca çözümlerin çeşitlendiğini ve uzmanlaştığını görüyoruz – hem dikey hem de yatay bir evrim.
Sanallaştırılmış altyapı, yenilikçi aktörlerin daha üst düzey çözümler geliştirmesine olanak tanır. Bu arenadaki oyuncular iki geniş kampa ayrılır: API barındırıcıları ve API sağlayıcıları.
Sunucusuz dağıtımlar ve API sağlayıcıları
Vercel ve Netlify gibi hizmetler, son teknoloji API barındırıcılarına iki iyi örnektir. IaaS ve PaaS katmanlarının üzerine binen bir tür sunucusuz altyapıyı temsil ederler. Ayrıca, belirli bir kullanım senaryoları evrenini hedefleyen bu altyapının uzmanlaşmasını temsil ederler.
Vercel’in kontrol panelinin önünde oturan ve bir düğme tıklamasıyla karmaşık bir ön uç uygulama dağıtan herkes ne demek istediğimi bilir: Vercel sunucusuz artı. Diğer bir deyişle, kesin bir ihtiyacı karşılamak için iyileştirilmiş ve yararlanılmış sunucusuzdur.
Bu arada, modern bir API sağlayıcısına iyi bir örnek MongoDB Atlas’tır. Bu, öncelikle veri kalıcılığı sağlayan bir API’dir. MongoDB Atlas, özünde hizmet olarak uzaktan kullanılabilen bir API’dir. Sentry.io ve Auth0 gibi hizmetler benzerdir.
Buradaki kilit nokta, barındırma için Vercel gibi, bu çözümlerin de belirli bir dizi ihtiyaçtan yararlanan yüksek derecede soyutlama (az çalışmayla çok güç) sunmasıdır. Modern sanal katmanın üzerine inşa edilirler. Veri depolarını sanal altyapıya dağıtmak, yalnızca buluta taşınan geleneksel modeldir. MongoDB Atlas gibi bir şey kullanmak, daha çok, sahip olduklarınızı ihtiyacınız olanla bütünleştirmeyi kolaylaştırmaya adamış, özel bir veri deposu ortağına sahip olmaya benzer.
Bu alandaki başarılı araçlarla ilgili bir başka ilginç gözlem, bunların üç yönüne sahip olma eğiliminde olmalarıdır: uygulamaların bağlandığı bir API, kod içi entegrasyon desteği ve web tabanlı bir yönetim konsolu.
API oluşturucular ne olacak?
Dolayısıyla, bulut platformları çağının yeni bir şeyin yolunu açtığını görebiliyoruz, ancak tam olarak ne olduğunu tahmin etmek zor. Bu, kullanıcıların (çoğunlukla onlar tarafından bile bilinmeyen) ihtiyaçlarının, bu yeni araçlarda ima edilen yeteneklerle yeni yollarla nerede buluştuğunu keşfetme sürecidir.
İlginç bir şekilde, aslında API oluşturma dünyası nispeten değişmeden kalıyor. Kademeli iyileştirmeler oldu, ancak barındırma ve sağlamada gördüğümüz kesinti gibisi yok. API oluşturma faaliyetini barındırıcıların ve sağlayıcıların başarılarıyla birleştiren bir hareket, fırsatlarla dolu bir kargaşayı temsil edecektir.
Şimdi, yazılım yapımının aktif olarak geliştiği birkaç alana bakalım.
Ön uç araçlar ve çerçeveler
Üçüncü taraf API’lerin büyüsünün ve arka uç mantığının insan-makine ifadesini bulduğu ön uçta, JavaScript dili istikrarlı bir şekilde gelişmeye devam ediyor. Bu arada, JavaScript’in üzerine inşa edilen çerçeveler, keskin rekabet yoluyla yaygın doğal seçilimden geçiyor. Solid, Svelte ve Qwik gibi projeler sınırları çeşitli yönlerde zorlarken, React ve Vue gibi daha yerleşik reaktif çerçeveler büyümeye devam ediyor. Tek bir yazılım alanında bu kadar yoğun bir şekilde odaklanmış yineleme ve çapraz tozlaşma görmek nadirdir.
Özel ara katman yazılımı
Buluttaki işlerin çoğu, mevcut araçları entegre etmek ve API’leri birleştirmek olup, bu da her zaman insanların ara katman seviyesinde belirli bir miktarda özel çalışma yapmasını gerektirecektir. Bunun nedeni, tüm otomasyonun nihai amacının insanların değişen ihtiyaçlarına hizmet etmektir.
Rust gibi sunucu taraflı diller ve JHipster gibi çerçeveler ilginç gelişmelerdir, ancak genel olarak alan değişim içindedir. Ön uç gibi, arka uç da daha kapsamlı bir evrimi bekliyor.
Java, Node.js ve Python (ve ilgili çerçeveleri) gibi mevcut çözümlerin tümü çevreye çok uygundur ve gerçek dünyanın taleplerine yanıt olarak sürekli olarak gelişmektedir. Kritik bir faaliyet alanı olarak kalacaklarına inanıyorum. Nasıl IaaS sunucusuz ortamda hayati bir katman olmaya devam ediyorsa, ara katman yazılımı da yakın gelecekte önemli olacaktır.
Düşük kod ve makine öğrenimi, insan geliştiricilerle rekabet etmekle tehdit edebilir, ancak sonuçta geliştiricinin araç kutusunda daha fazla araç olarak ortaya çıkacaktır. Yenilikçi düşük kodlu düşüncenin mükemmel bir örneği Builder’dır. Makine öğreniminin kodlamaya nasıl yardımcı olabileceğini görmek için GitHub Copilot’a bakabiliriz.
Ayrılmış mimariler, yani mikro hizmetler
Sırada, mikro hizmetler olarak da bilinen uzaktan ayrıştırılmış mimarilere geçiş büyümeye ve daha iyi anlaşılmaya devam edecek. Monolitik mimari paradigması, bulutun doğasında bulunan potansiyelden tam olarak yararlanma konusunda açıkça yetersizdi. Alternatif, mikro hizmet mimarisi, önemsiz olmayan bir devops yükünü omuzlamak anlamına gelir. Mikro hizmetler, aynı anda bir süreç ölçeklendirme sağlayıcısı ve bir karmaşıklık büyütecidir.
Hizmet olarak API’ler, ön uç evrimi ve özel ara katman yazılımı gibi teknolojide yeni yönleri kapsamaya çalışan tüm yeniliklerin, mikro hizmet mimarisinin karmaşıklığını hesaba katması gerekecektir.
Proses otomasyonu
Süreç otomasyonu, yani ekiplerin yazılım oluşturmak ve teslim etmek için kullandığı süreçleri koordine etmek, en iyi uygulamaları paketleme ve sunma becerisi açısından giderek daha merkezi hale geliyor. Bu alanda, özelleştirilmiş çözümlere odaklanıldığını görüyoruz. Her kuruluş benzersizdir, bu nedenle, Google ve Microsoft gibi büyük mağazalarda keşfedildiği gibi, neyin işe yaradığını damıtmak ve her boyutta ve türdeki ekipler için işe yarayan çözümlerde yakalamakta değer vardır.
Birçok CI/CD çözümü, yapı ve bağımlılık yönetimi araçları ve test çerçeveleri, süreç otomasyon araçlarının geliştirici etkinliklerine odaklandığı yerlerin örnekleridir. Sürüm kontrolü ve GitHub gibi ilgili hizmetler de bu kategoriye girer. Proses otomasyonu, yazılımın geleceğinde rol oynayacak bir diğer önemli alandır.
Yeni bir tür geliştirici deneyimi
Bu makalenin başındaki birleşme şemasında gösterildiği gibi, bu yazılım geliştirme eğilimlerinin her biri değişim için birer güçtür. Birlikte, zorlayıcı, ancak henüz ortaya çıkmamış yeni bir geliştirici deneyimine işaret ediyorlar. Oyundaki güçleri ve nasıl hareket ettiklerini görebiliyoruz, ancak gelecek henüz net değil. Yazılım geliştiricisi olmak için heyecan verici bir zaman.
Telif Hakkı © 2022 IDG Communications, Inc.
Kaynak : https://www.infoworld.com/article/3660642/where-software-development-is-headed-in-2022.html#tk.rss_all