Low / No code platform, dusuk kod, az kod gibi turkceye cevirebilecegimiz, temel olarak uzman programlama bilgisi gerektirmeden hizli bir sekilde web veya mobil uygulamalar gelistirmek amaciyla tasarlanmis platformlardir. Low code ve No code kavramları birlikte kullanılsa da aynı şeyler değildir. Bu yazıda daha çok low-code üzerinde duracağız.
Bu platformlar, yazılım uygulamalarını hızlı bir şekilde oluşturmak, dağıtmak ve yönetmek için genellikle görsel bir yaklaşım sunar. Temel amaç ise yazılım geliştirme sürecini hızlandırmak, kolaylaştırmak ve kod gereksinimlerini en aza indirgemektir. Gelistiriciler kod yazmak yerine hazır bileşen setlerini kullanarak ve sürükle-bırak yaparak uygulama sayfalarini ya da formlarını tasarlar. Bu şekilde yazilim gelistirmek icin ihtiyac duyulan uzmanlik seviyesini dusurmeyi amaçlarlar.
Aslinda bu cok yeni ve sihirli bir kavram degildir. Microislemcilerin nispeten kisa tarihi boyunca bir donanim icin yazilim gelistirme isi her donem yuksek uzmanlik gerektiren isler arasindaydi. Ornegin 1960 li yillarda programcilar o zamanki sistemler icin yazilim gelistirirken Fortran veya ALGOL gibi diller kullaniyorlardi. Bu diller tahmin edeceginiz uzere hem uygulamanin calisacagi donanimi hem de programlama dilinin ozelliklerini cok iyi bilmeyi gerektiriyordu. Bu sebeple uzmanlar programlamayi donanimdan bagimsiz hale getirip herkesin anlayabilecegi bir forma sokmak icin kafa yordular. Bunun sonucunda 1964 yilinda BASIC programlama dili gelistirildi ve uzman olmayan kullanıcılar da programlamayla tanışmaya başladı. O donem BASIC okul müfredatlarına dahi girmeyi başarmıştı. Yazilim tarihinin ilk low code mantigi basic ile baslamistir diyebiliriz. Sonrasinda bu mantigi daha da ileri taşıyıp görsel programlamayı hayatımıza sokan visual basic, delphi, visual studio gibi yazilim araclarininda temelinde low code mantigi ile yazilim gelistirmek vardir. 90 larin sonunda Window API ile basit bir form olusturmak icin yüzlerce satir C ya da C++ kodu yazmak ve sayfalarca API dokumantasyonu okumak gerekirken, delphi ile sadece surukle birak yaparak neredeyse programin tum gorsel arabirimini hazirlayabiliyordunuz. Bir satir kod yazmadan DB ye baglanip, bu baglantiyi bir datagrid e baglayip formunuzun icerisinde gosterebiliyordunuz. Bu araçlar 2000 lerde web uygulamalarinin yazilim dunyasinda baskin hale gelmesiyle kendi kabuklarina cekildiler yada yada sekil degistirerek mobil platformlara yoneldiler.
Peki ne degisti de bu tip sistemler tekrar yazilim dunyasinda populer hale geldi.
90 lı yıllarda yazılımlar daha çok monolitik yapıdaydılar. Genellikle client bir makinede çalışır, bir veritanabına bağlanır ve size ihtiyac duydugunuz raporları verirdi. Bu tip uygulamaları geliştiren yazılımcı profilleri genellikle şimdiki tabir ile full stack tarzdaydı. Fakat günümüzde frontend, backend, tester, devops, microservis gibi kavramların herbiri kendi çapında bir uzmanlık gerektiriyor. Low code platformlar backend ve fronendi birleştirip, devops işlemlerini üstlenerek eski tarzda monolitik düşünmenin basitliği ile standartlara uygun uygulamalar geliştirmeyi sağlıyorlar.
Popülerleşmelerinin nedenlerini listeleyecek olursak;
- Yazilimlarin cok fazla karmasik hale gelmesi, gelistirilmelerinin uzun zaman ve maliyet gerektirmesi
- Kapsamlarin cok buyuyerek tek bir firmanin uzmanligini asmasi
- Yeterli uzman developerlarin bulunamaması
- Dijital donusumun yayginlasmasi ile firmalarin kendi ihtiyaclarina yonelik terzi isi cozumlere ihtiyac duymasi ve bu çözümlere minimum maliyet ile sahip olmak istemeleri
- Kurumsal firmalarin kullandiklari sistemlerinin (ERP, CRM, veritabanı, vb...) eksik biraktigi noktalari hizli ve minimum maliyetle kapatmak istemeleri
- Ciktilari hizli gorme istegi
- Musteri beklentilerine ve taleplerine hizli cevap verebilme
Ozellikle son maddeyi detaylandirmak istiyorum. Yazilimda temel olarak iki taraf vardir. O yazilima ihtiyac duyan bir kisi, ekip ya da sirket ve bu yazilimi gelistirecek olan kisi, ekip ya da sirket. Biz bu iki tarafi consumer ve provider olarak isimlendirelim.
Basit olarak consumer kendi ihtiyaclarini tanimlayacak ve provider da bu ihtiyaclari karsilayacak uygulamayi gelistirecek. Fakat yazilimin dogasi geregi bastaki ihtiyaclar degisecek, ihtiyaclar baska ihtiyaclari doguracak ve ongorulmeyen bircok konu ile ugrasmak gerekecek. Iste boyle durumlarda low code plaformlar esneklik ve hız kazandirdigi icin tercih edilebiliyor.
Gartner a gore low code platformlar yayginlasmaya son hizla devam edecekler, 2023 sonunda kurumsal uygulamalarin %50 sinin low code ile gelistirilecegi ongoruluyor.
Peki low code platformlarin sahip olduğu genel ozellikler neler;
- Bir form veya ekran olusturmak icin gorsel bir ortam
- Bu formlarda kullanabileceğiniz sürükle-bırak hazır bileşen setleri (kullanıcı veri girişi, dosya yükleme, buton vb...)
- Bu formlara girilen verilerin islenecegi iş akiş modelinin gorsel olarak tasarlanması
- Bir kural motoru
- Devops sureclerini platformun kendisinin ustlenmesi
- Test için kod yazmak gerekmediğinden testlerin direk son kullanıcı tarafından yapılabilmesi
- Hazir entegrasyon cozumleri ve bağlantı noktaları (SAP, Salesforge, Oracle, MSSQL, Google, ve bunun gibi onlarcası)
- Kullanici, Organizasyon tanımları vb (Identity management)
- RPA çözümleri
- Bot çözümleri
Şimdide bu platformların güzlü ve zayıf yönlerine bakalım;
Low / No Code platformların artıları
Hızlı Uygulama Geliştirme
Low-code platformlar, kullanıcıların kod yazmadan hızla uygulama geliştirmelerini sağlar. Görsel olarak hazır bileşenleri sürükle-bırak yaparak, uygulama geliştirme süreci büyük ölçüde hızlanır. Bu da iş süreçlerini hızla otomatikleştirmek veya yeni çözümler sunmak için avantaj sağlar.
Daha Az Teknik Bilgi Gerektirir
Low-code platformlar, geleneksel yazılım geliştirme süreçlerine ihtiyaç duymaz. Bu, kullanıcıların kodlama bilgisine sahip olmadan bile uygulama geliştirebilecekleri anlamına gelir. Bu şekilde, iş analistleri, danışmanlar ve hatta son kullanıcılar gibi teknik olmayan kişiler bile uygulama geliştirebilirler.
İş Süreçlerini Otomatikleştirme
Low-code platformlar, iş süreçlerini otomatikleştirme ve verimliliği artırma konusunda oldukça başarılıdır. İş akışları, formlar, veri tabanları ve raporlama gibi işlevleri hızla oluşturabilir ve kendi sistemlerinizle entegre edebilirsiniz. Bu sayede, manuel süreçleri azaltarak süreçlerinizi iyileştirmek ve verimliliği artırmak mümkün olur.
Hızlı Prototipleme
Low-code platformlar, hızlı prototipleme için idealdir. Kolaylıkla prototipler oluşturabilir, kullanıcı geri bildirimlerine dayalı olarak hızla değişiklikler yapabilir ve uygulamanın kullanılabilirliğini ve işlevselliğini artırabilirsiniz. Bu, müşteri gereksinimlerine daha hızlı yanıt verme ve daha iyi kullanıcı deneyimi sağlar.
Daha Az Maliyet
Low-code platformlar, geleneksel yazılım geliştirme süreçlerine göre daha düşük maliyetlidir. Kod yazma sürecinin azalması, daha az kaynak ve zaman harcamanızı sağlar. Ayrıca, bazı platformlar bulut tabanlı olduğu için donanım ve altyapı maliyetlerinden de tasarruf etmeniz mümkündür.
Yazılım yaşam döngüsü desteği
Low-code platformlar, yerleşik devops desteği içerirler. Uygulamada bir değişiklik yapıldığında bu değişikliği versiyonlayıp teste gondermek ya da yayınlamak mümkündür.
Kolay entegrasyonlar
Low-code platformlar, kurumsal sistemler (ERP, CRM, veritabanları, API'lar vb.) ile entegrasyon için hazır arayüzler veya bağlantı noktaları barındırırlar. Bu, entegrasyon sürecini hızlandırır ve daha kolay bir şekilde kurumsal sistemlerle veri alışverişi yapmanızı sağlar.