Yeni bir yazıyla herkese merhaba!
İçinde bulunduğumuz bu yazılım dünyası sürekli gelişerek yeni teknolojiler ve yeni yöntemlerle değişmekte; bu da benim en sevdiğim yanlarındandır. Geldiğimiz noktada, artık kodsuz / az kodlu (no-code / low-code — NCLC ) yapıları ve yapay zeka (AI) uygulamalarını kullanarak kod yazmadan yazılım geliştirmek mümkün. Bu makalede, no-code/low-code yapılarının ne olduğunu anlamaya çalışacağız. Sonraki yazılarda AI uygulamalarıyla yapılan yazılım geliştirmelerine de değinebiliriz.
Öncelikle no-code ve low-code “neymiş, ne değilmiş”e bir değinelim.
No-Code/Low-Code (NCLC) Nedir?
Basitçe tanım olarak; No-Code platformlar, kullanıcıların hiç kod yazmadan web site veya uygulama geliştirmelerini sağlar. Sürükle-bırak arayüzleri ve önceden hazırlanmış bileşenlerle, kullanıcılar daha hızlı bir şekilde fonksiyonel uygulamalar oluşturabilmektedir.
Low-Code platformlar ise, az miktarda kod yazarak daha karmaşık uygulamalar geliştirmeye olanak tanır. Yazılımcılar, görsel araçlar ve hazır modüllerle temel yapıyı kurar, gerektiğinde kendi kodlarını yazarak özelleştirme yapabilirler. Birçok no-code platformu içerisinde low-code imkanı da sunmaktadır. Böylece, sürükle-bırak yaparak geliştirilen uygulamada özelleştirmeler yapılabilmektedir.
NCLC Platformlar
Piyasada bulunan çeşitli no-code ve low-code platformlardan bahsetmek faydalı olabilir. Öncelikle, çeşitli amaçlarla geliştirilmiş birçok platform olduğunu söylemekte fayda var. Bunlardan rastgele birkaçını söylemek gerekirse; Mendix, Bubble, Adalo, FlutterFlow ve OutSystems gibi isimleri sayabiliriz. Bu platformlar, web ve mobil uygulama geliştirmeyi kolaylaştırarak işletmelerin ve bireylerin teknolojiye daha hızlı adapte olmasını sağlıyor.
Bu Platformları Kullanarak Maliyetleri Düşürmek
NCLC platformlar, maliyetleri birkaç önemli şekilde azaltır:
- Daha Az Geliştirme: Geleneksel yazılım geliştirme süreçleri uzun ve zahmetlidir. NCLC platformlar, hazır bileşenler ve sürükle-bırak araçları sayesinde geliştirme süresini önemli ölçüde kısaltır. Bu da, projelerin daha hızlı tamamlanmasını sağlar.
- Daha Az İş Gücü: Daha kısa geliştirme süreleri, daha az iş günücü gereksinimi beraberinde getirmektedir. Küçük işletmeler ve start-up girişim firmaları için bu olanak büyük bir avantajdır. Az sayıda geliştirici ile büyük ölçekli projeler geliştirmek mümkündür.
- Bakım ve Güncellemeler: Bu platformlar, güncellemeleri ve bakım süreçlerini otomatikleştirir. Uzun vadede maliyetleri düşürür ve geliştiricilerin sürekli eski kodlarla uğraşmasını engeller.
Gerçek Hayattan Örnekler
Kafamızda canlanması açısından, geliştirilen modüllerden iki örnekle no-code ve low-code çözümleri inceleyelim.
- No-Code Örneği: Bir küçük işletmenin, çalışan izinlerini yönetmek için bir uygulamaya ihtiyacı olduğunu düşünelim. Bu işletme, bir no-code platform kullanarak hiç kod yazmadan hızlıca ihtiyacını karşılayabilir. Sürükle-bırak arayüzlerle çalışan izin akışlarını tek bir yerden kontrol edebilir ve yönetebilir. Büyük bir şirket için bir örnek vermek gerekir ise, müşteri destek süreçlerini yönetmek için bir yardım masası uygulamasını yine kod yazmadan oluşturabilir. Müşterilerin panel üzerinden veya e-posta yoluyla ilettiği bildirimleri otomatik olarak sistem toplayan ve bunlara cevap dönme olanağı tanıyan bir sistem tasarlamak mümkün.
- Low-Code Örneği: Bir şirketin, özel bir envanter yönetim sistemi oluşturmak istediğini varsayalım. Low-Code bir platform kullanarak temel işlevleri hızlı kurabilir ve ardından özel gereksinimlerine göre ek kodlar yazarak uygulamayı özelleştirebilirler. Bu sayede, şirketin ihtiyaçlarına tam olarak uyan bir çözümü daha kısa sürede geliştirebilirler.
Gelecekte Bu Platformların Önemi
“Gelecek NCLC platformlarında mıdır?” derseniz, bunun cevabı hem evet hem hayır. Açıkçası geriye dönüp baktığımızda zaten geleneksel diye bahsettğimiz yazılım geliştirme süreçlerinde bile çeşitli framework ve kütüphaneler kullanarak birçok kodu önceden yazılmış şekilde kullanıyoruz. Aslında bu da bir nevi low-code yöntemi gibi düşünülebilir. Amerikayı baştan keşfetmeye gerek var mı? Bu nedenle, günümüzdeki haliyle olmasa da gelecekte bu yapıların daha gelişmiş halleriyle yazılım geliştirmelerinin yapılacağını düşünüyorum. Özellikle yapay zeka modellerinin NCLC platformlarına entegre edilmesi ile yazılım geliştirmeleri çok farklı bir seviyeye çıkmış olacak.
Geleceğe Hazırlanmak
“Zaman nakittir” sözünün en geçerli olduğu bir dönemde yaşadığımız için bu zamanda iş yerleri, yazılım çözümlerini kullanırken veya geliştirirken bunu en kısa zamanda gerçekleştirmek istiyor; her bir çözüme ayrı bir maliyet veya efor ayırmak istemiyor. Bu isteğin karşılığını da NCLC platformlar ve yapay zeka modelleri vermektedir. Özellikle yapay zeka uygulamalarının her geçen gün üzerine fazlasıyla koyarak ilerlemesi ile kod yazmanın gittikçe azaldığını görmekteyiz. Yazılım geliştiriciler bu yapay zeka uygulamarıyla geliştirmelerini yapmakta ve kullandıkları platformlara da bunları entegre etmektedir. Zaten sürükle-bırak seviyesinde olan no-code platformların bir de yapay zeka ile çalıştığını hayal edin, ki buna geçen platformlar da var.
Bu teknolojiler, yalnızca geliştirme sürecini hızlandırmakla kalmıyor, aynı zamanda daha geniş bir kitlenin yazılım geliştirme yapabilmesini sağlıyor. Teknik bilgisi sınırlı olan kullanıcılar bile bu platformlar sayesinde kendi uygulamalraını geliştirebiliyor.
Özetle…
Gelecekte bu platformların daha da gelişerek daha karmaşık uygulamaların bile NCLC veya AI ile yapılabilir hale geleceğini düşünüyorum. Bu da yazılım geliştirme süreçlerini çok değiştirecek gibi. Burada özellikle yeni başlayan yazılımcı arkadaşlarımın dikkat etmesi gereken nokta ise algoritmik ve mimari düşüncedir, zaten işin içinde olan arkadaşlar için zaten edindikleri tecrübe her şeydir.
Kod yazmak artık yetenek değil, bu tarz uygulamaların hepsi de işleri kolaylaştırmak adına geliştiriliyor. Önemli olan, algoritmalar ve mimariler geliştirerek tüm bu platform ve uygulamaları birer araç gibi kullanmaktadır.
Bir görselle yazımı sonlandırıyorum: “Hesap makinesini protesto eden matematik öğretmeleri”.
Bir sonraki yazıda görüşmek üzere, sevgiler!