Low Code

Low Code Ne Değildir?

Low Code öncelikle hiç kod yazmamak değildir. Uzun yıllar boyunca benzer bir iddiaya sahip olan “No Code” ürünler ortaya çıktı ama şimdiye kadar bunu belli senaryolar dışında hakkıyla başarabilen ürün olmadı. Teknoloji “kod yazmadan bir şeyler yapabilmek” çalışmalarından çok daha hızlı ilerliyor, bu nedenle yakın zamanda da kod yazmadan ilerlemek pek mümkün gözükmüyor. Böyle iddiaları olan ürünler sabit senaryolar içinde sizi anca belli bir noktaya kadar götürebilir. Bu nedenle beklentiyi yüksek tutmamak lazım.  Dünyadaki 500 milyar dolarlık yazılım endüstrisinin sonu henüz gelmedi.

Drag Drop Tasarım

Low Code, “Less Code” yani az kod yazmak demekte değil, az kod yazarak bir şey yapabilmek çok uzun zamandır dolaşımda olan bir konsept. Herhangi bir framework’ü kullanarak çok az bir kod ile büyük işler yapabilirsiniz. Mesela tensorflow veya tesseract gibi bir kütüphane ile neredeyse 3–5 satırda muhteşem işler ortaya çıkarabilirsiniz ama önce ML (machine learning), neural network, genetik algoritma gibi bir çok konuda bilginiz olması gerekiyor. Yani bu tür bir konseptte kodlama ile birlikte konuyla ilgili (domain know-how) alan bilginizin de olması gerekiyor.

Tensorflow

Kod yerine kodlama ifadelerini grafikle anlatmakta “Low Code” değil. Yazılımın en temel konuları olan “if”, “for”, “while” gibi ifadeleri bir grafik sembolüne çevirerek algoritmayı grafiksel dille çizip-yazmak sizi sadece metin tabanlı geliştirme ortamlarından grafiksel ortamlara taşır ve bu grafik dilini öğrenmek dışında bu ifadelerin kavramsal olarak anlamlarını öğrenmenizi, algoritma, problem çözme gibi yetkinlikleri zorunlu kılar. Bunu yapabiliyorsanız zaten kod yazmayı öğrenmiş oluyorsunuz ve metin tabanlı geliştirme ortamlarında bu ifadeleri kullanmak çoğu zaman daha pratiktir.

Drag-Drop kodlama (abartılmış bir örnek)

Peki Low Code nedir ?

Low code konsepti sınırlı bir yazılım bilgisi ile kurumsal ihtiyaçları karşılayacak kapsamlı bir yazılım geliştirme yöntemidir. Bu yöntem geleceğin yazılım geliştirme aracı olarak kabul görülüyor hatta olağanüstü yıkıcı olarak tanımlandığı Forbes makalesini okuyabilirsiniz. Makaledeki “Yıkıcı İnovasyon” kelimesi pozitif anlamda kullanılıyor ve yıkıcı inovasyonla ortaya çıkan ürünler genelde hayatımızı değiştirir.

Bu konsepte bu amaçla tasarlanmış ve geliştirilmiş özel yazılım geliştirme platformları kullanılır ve bu geliştirme ortamı bilindik Visual Studio gibi IDE de adlandırılan kodlama ortamlarından çok farklıdır.

Yazılımın işleyişi ve arayüzler grafik ortamında flow chart benzeri diagram veya modellerle çizilerek tasarlanır. Gerekli yerlerde özel bir alan bilgisi gerektirmeyen kod parçaları ile eksikler tamamlanır. Bu tür geliştirme ortamları kurumsal ihtiyaçlardan kullanıcı yönetimi, güvenlik, denetim kaydı (audit log), performans ölçeklemesi gibi bir çok problemi çözülmüş halde sunar ve “yazılımcı” sadece yapılacak işin içeriği ile ilgili zaman harcar.

Bu yöntem herşeyden önce “korkunç” denilebilecek bir hız getirir ve hem geliştirme hem de sonrasındaki değişikliklerin yönetiminde teknolojiye yatırım maliyetlerini düşürür.

Yazılımcılar İçin Low Code nedir ?

Yazılım dünyasından gelenler için basit kod örneği;

Bu kod örneği DB veritabanında Orders tablosuna yeni bir kayıt ekliyor, bir sonraki hatırlatma zamanını iş saatleri içerisinde 20 saat sonrasına ayarlıyor.

Klasik bir yazılımda benzer bir veritabanı işlemini yapmak için db connection, transaction, sql injection, type safety, relational model, veritabanı tipi (postgres, mssql, oracle) gibi arkasında detaylı teknik bilgi gerektiren konuları sizden gizler.

Bunların dışındaki klasik yazılım konularından business logic, kaynak kod takibi, dependencyler, compilation, CI v.b. sonu gelmez problemlerden bahsetmiyorum dahi.

Ertan Tike

Tagged with: