LOW CODE - NO CODE YAZILIM GELİŞTİRME

ICT Media Mart 2019 yazımızda algoritmik düşüncenin ne olduğundan ve yazılım geliştirme metodolojisinin temeli olduğundan bahsetmiştik. Algoritmik düşünce öğretisinin de ilköğretim seviyesinde başlanması gerektiğini yıllar içinde seviye seviye arttırılması gerektiğinin de altını çizmiştik. Bu ay ise yazılım geliştirme eğilimlerinin en son geldiği noktalardan “low code – no code” metodolojilerinden bahsedeceğiz. Forrester Forecast şirketinin belirttiğine göre bu platformlar 2020 yılında dünyada 15 milyar dolarlık bir pazar payına ulaşacaklar.

Low Code sistemi, standart, basit ama zaman alıcı kodlama işlemlerinin, bir görsel kodlama geliştirme sistemi kullanılarak yarı otomatik olarak yaratılabilinen, yazılımcıların derin bir müdahalesinin gerekmediği ama buna rağmen birçok uygulamanın da geliştirilebildiği bir kodlama yöntemidir. Burada uygulamayı yapacak kişinin yazılım geliştirme bilgi seviyesinin çok yüksek olması gerekmemekte, sadece yazılım geliştirme aracı konusunda bilgisi olması yeterli olmaktadır.

No Code sisteminde ise yine low code platformlarına benzer şekilde, bir görsel kodlama geliştirme sistemi kullanılarak fakat bu sefer kullanıcıların hiç kod yazma bilgisi olmadan sadece sürükle ve bırak işlemleri ile uygulamalar oluşturmasına olanak sağlayan bir uygulama geliştirme sistemidir. Burada uygulamayı geliştiren kişinin yazılım geliştirme bilgi ve becerisi olması gerekmiyor, sadece algoritmik düşünceye sahip olması, geliştirmek istediği uygulamanın algoritmasını, akış diyagramını çıkarabiliyor olması ve tabii ki no code uygulama geliştirme platformu hakkında bilgi sahibi olması yeterli oluyor.

Low code ve no code platformları ile hızlı yazılım geliştirme gereksinimleri olan ve özellikle web tabanlı uygulamalarda büyük bir çeviklik sağlanıyor ve verimlilik önemli ölçüde arttırılabiliyor. Birçok raporlama işlerinde, analitik çalışmalarında, hata ve log kayıtlarının tutulması fonksiyonlarında, genellikle tekrarlayan ve hızlı değişen web sitesi kodlamalarında, birçok mobil uygulamaların yazılmasında bu platformlar her geçen gün daha fazla kullanılmaktadır. Özellikle sektör bağımlı yazılım geliştirme projelerinde bu platformların çıkardığı kodlar tekrarlanabilme özelliklerine de sahip olabiliyor ve çok küçük dokunuşlarla sektörü oluşturan şirketlerin gereksinimlerine rahatlıkla cevap verebiliyorlar. Karmaşık ister setleri ve algoritmaları olan yazılımların bu tekniklerle gerçekleştirilmesi henüz mümkün değil ama teknoloji hızla gelişiyor, bu platformlar da geliştirilecek ve istekleri daha fazla gerçekleştirebilir hale gelecektir. Bu durum yazılımcılara gereksinim kalmayacak anlamına hiçbir zaman gelmez, tasarımı yapanlar, bu platformları gerçekleştirenler yine tecrübeli, bilgili, yaratıcı yazılımcılar olacak ama şu anda ülkemizde ne yazık ki yazılımcılar çoğunlukla üniversite yılları boyunca aldıkları eğitimin karşılığını gösterebilecekleri işlerde çalışamıyorlar, daha alt seviyeden kod yazmakla ve onları hatalarından arındırmakla uğraşıyorlar, verimsiz çalışıyorlar, çalıştırılıyorlar. Halbuki low code – no code sistemlerinden daha fazla yararlanılması ile değerli yazılımcılarımız, yazılım mimarisi çalışmalarında ve deneyimli, bilgili yazılımcılar olarak daha kalifiye işlerde faydalı ve verimli olabilirler, böylece yazılımcının kişisel motivasyonu da sağlanmış olur.

Low code - no code platformu seçerken birkaç hususa dikkat etmek lazım. Öncelikle platformun görsel geliştirme araçları çok basit ve kullanışlı olmalı, geliştirilen uygulama rahat ve kolaylıkla kullanıma açılabilmeli, geliştirilen uygulamanın büyümesini desteklemeli, güvenlik açığı olmamalı. Bugün için pazardaki en kullanışlı low code platformları OutSystems, KissFlow, Appian, Zoho Creator and Google App Builder sayılabilir. Pazarda çok fazla no code platformu da mevcut ama en kullanışlıları olarak AppSheet, Air Table, QuickBase, Filemaker, Nintex, force.com (Salesforce platformu) sayılabilir. Uygulamadan uygulamaya bazıları diğerinden daha kullanıcı dostu veya daha verimli olabiliyor ama bu platformlar, yazılım geliştirme çalışmalarının yaygınlaştırılmasına ve hızlandırılmasına yardım edeceği muhakkak.