TEMEL KAVRAMLAR

Low-code Platformlar ve Türleri

Bu öğrenme içeriğinde Low-code tanımlaması, Low-code'un sağladığı avantajlar ve Low-code türleri aktarılmaktadır.

Low-code geliştirme platformları ile farklı türlerde uygulamalar geliştirebilirsiniz. Web uygulamaları, mobil (Android ve iOS işletim sistemlerine uygun) uygulamalar, IOT (Nesnelerin İnterneti), RPA (Robotik Süreç Otomasyonu), iş süreci ve iş akışı otomosyonları ve yapay zeka uygulamaları geliştirilebilmektedir.

Bu öğrenme içeriğinde Low-code tanımlaması, Low-code'un sağladığı avantajlar ve Low-code türleri aktarılmaktadır.

Low-code Platformlar ve Geliştirme Süreci

Temel bir tanımla Low-code, düşük kodla/az kodla, hızlı ve kolay bir uygulama geliştirme süreci sağlayan yazılım çözümleri olarak tanımlanmaktadır. Low-code geliştirme platformları ile web/mobil (Android ve iOS işletim sistemlerine uygun) uygulamalar, IOT, RPA, iş süreci ve iş akışı otomosyonları ve yapay zeka uygulamaları geliştirilebilmektedir.

Low-code platformlarının kullanımıyla birlikte uygulama geliştirme süreçleri hızlanmakta, üretim verimliliği artmakta, bakım süreçleri ve iş yükleri azalmakta ve maliyetler düşmektedir.

IBM’e göre Low-code geliştirme, az kod kullanımıyla, uygulama geliştirme sürecinde daha hızlı teslimat sağlayan “görsel” ve güncel bir yazılım geliştirme yaklaşımıdır.

Low-code geliştirme süreçlerinde, düşük kodlu bir platformun grafik kullanıcı arabirimi ve sürükle-bırak özellikleri, geleneksel yazılım geliştirme yaklaşımlarına olan bağımlılıkları ortadan kaldırarak geliştirme sürecini çeşitli açılardan otomatikleştirir.

Bu açılardan Low-code geliştirme, vatandaş geliştiriciler için büyük bir avantaj oluşturarak uygulama geliştirmeyi demokratikleştirir.

Low-code birtakım faydaları beraberinde getirmektedir. Bu faydalar;

  • Uygulama geliştirme sürecinde çevikliği geliştirir,
  • Hızlı ve verimli çözümler sağlar,
  • Maliyetleri azaltır,
  • Üretkenliği artırır,
  • Bakım süreçlerini hızlandırır ve kolaylaştırır,
  • Müşteri deneyimlerini olumlu anlamda etkiler,
  • Değişikliklere adapte olmaya kolaylaştırır.

Low-code Geliştirme Türleri

Low-code geliştirme platformları ile farklı türlerde uygulamalar geliştirebilirsiniz. Web uygulamaları, mobil (Android ve iOS işletim sistemlerine uygun) uygulamalar, IOT (Nesnelerin İnterneti), RPA (Robotik Süreç Otomasyonu), iş süreci ve iş akışı otomosyonları ve yapay zeka uygulamaları geliştirilebilmektedir.

Şimdi bu uygulama türlerini yakından inceleyelim!

Web uygulama geliştirme

Web uygulaması geliştirme, sunucularda barındırılan ve internet üzerinden kullanıcının cihazına teslim edilen, etkileşimli uygulama programlarının oluşturulmasıdır.

Bir web uygulamasının indirmeniz gerekmez ve bir ağ üzerinden her zaman web uygulamasına erişebilirsiniz. Web uygulamalar, frontend ve backend olmak üzere iki uçtan oluşmaktadır. Low-code geliştirme platformları aracılığıyla herhangi bir teknik bilgi ve programlama bilgisine ihtiyaç duymadan veya çok az ihtiyaç duyarak; Low-code bir platformun grafik kullanıcı arabirimi ve sürükle-bırak özelliklerini kullanarak uçtan uca bir web uygulaması geliştirebilirsiniz. Aynı zamanda geliştirdiğiniz uygulamaları Low-code platformlar aracılığıyla yayına alabilir ve dağıtabilirsiniz.

Mobil uygulama geliştirme

Mobil uygulama geliştirme, Android ve iOS vb. mobil işletim sistemlerine sahip akıllı telefonlar, tabletler ve dijital asistanlar için yazılım ve uygulama geliştirme sürecidir. Mobil uygulamaları cihaza önceden kurabilir, bir mobil uygulama mağazasından indirebilir veya mobil cihazlarda yer alan internet tarayıcısı aracılığıyla kullanabilirsiniz. Mobil uygulamalar, geliştirildiği cihazın sahip olduğu donanım ve teknik özelliklerine göre farklı geliştirme süreçlerinden geçebilmektedir.

Mobil uygulamalara gösterilen ilgi ve artan talep, mobil cihazların popülasyonunda gerçekleşen artış ile doğru orantılı olarak artış göstermiştir. Bu durumu günlük yaşamınız açısından da değerlendirebilirsiniz. Etrafınıza baktığınızda mobil cihazların sayısında gerçekleşen artışı gözlemleyebilirsiniz. Bu artış beraberinde bir ihtiyaç durumunu da getirmiştir. Var olan ihtiyaç durumuna yanıt vermek amacıyla mobil uygulamaların frontend ve backend'lerini geliştirmek için mobil uygulama geliştirme platformları kullanılmaktadır.

Geleneksel mobil uygulama geliştirme platformları farklı açılardan teknik bilgi ve programlama bilgisine doğrudan ihtiyaç duymaktadır. Dolayısıyla geleneksel platformlar aracılığıyla mobil uygulama geliştirmek için profesyonel bir yazılım geliştiriciden hizmet almak gerekmektedir. Bu durum maliyet, esneklik, hız ve verimlilik açısından mobil uygulama geliştirme sürecini olumsuz etkileyebilmektedir.

Bu noktada mobil uygulama geliştirme sürecinde Low-code geliştirme platformları bir cazibe noktası oluşturabilmektedir. Low-code geliştirme platformları aracılığıyla, düşük kodla/az kodla, sürükle-bırak yapıda, hızlı ve kolay bir geliştirme süreci yürütebilirsiniz. Low-code geliştirme platformları hem yerel (native) hem de hibrit mobil uygulamaları geliştirmeye olanak sağlamaktadır.

Süreç otomasyonları (Process automation) geliştirme

Process Automation en temel ifadeyle, karmaşık bir yapıda bulunan mevcut iş süreçlerini otomatikleştirmek için uygulama geliştirmeyi ifade etmektedir. Süreç otomasyonu bir kurum için tüm paydaşların ve tüm birimlerin sahip olduğu tüm süreçlerin otomatikleştirilmesini sağlamaktadır.

Süreç otomasyonları, yapısı itibariyle karmaşık ve sürekli geliştirilmeye/güncellenmeye ihtiyaç duymaktadır. Bunun temelinde yatan sebep ise iş süreçlerinin sürekli değişim ve gelişim göstermesidir. Bu durumda geliştirilen süreç otomasyonlarının güncellenmesi ve değiştirilmesi de kolay, hızlı ve daha az maliyetli yapıda olmalıdır. Low-code platformlar aracılığıyla geliştirilen süreç otomasyonları Low-code platformların sahip olduğu teknik yapı ve avantajlar sayesinde verimli bir yapı sağlamaktadır. Low-code platformlar aracılığıyla geliştirilen süreç otomasyonları ölçeklenebilir, uyarlanabilir ve taşınabilir bir yapıdadır.

IoT (Nesnelerin interneti) geliştirme

Genel bir tanımla IoT geliştirme, bir ürünün sensörler ya da farklı donanımlar aracılığıyla belirli verileri izleyebileceği, toplayabileceği, aktarabileceği, analiz edebileceği ve analiz sonucunda fiziksel cihazların uygun hareketini sağlamak için yazılımların ve donanım parçalarının birleştirilmesidir. IoT cihazları günlük yaşamda sağlıktan iletişime kadar birçok alanda sıklıkla görebilirsiniz. Örneğin, kullandığınız akıllı saat, evinizde yer alan akıllı bir priz veya sağlık alanında yer alan akıllı bir protez IoT geliştirmenin ürünüdür. IoT geliştirmenin tanımında da aktarıldığı üzere, geliştirme süreçleri kapsamlı ve zor süreçlerdir. Bu süreçler birçok farklı teknolojiyi ve buna bağlı olarak da farklı alanlarda uzmanlık deneyimlerine ihtiyacı ortaya çıkarmaktadır. Dolayısıyla IoT geliştirme süreci iş gücü, zaman, maliyet ve çabaya ihtiyaç duymaktadır. Özellikle iş gücü konusunda yaşanan yazılımcı eksikliği, IoT geliştirme süreci kritik bir noktadır. Bu doğrultuda Low-code IoT geliştirme platformları sunduğu özellikler ve avantajlar sebebiyle IoT geliştirmenin en kolay ve sürdürülebilir yöntemidir. Low-code geliştirme platformları, görsel, sürükle-bırak ve model odaklı yapısı sebebiyle IoT uygulamaları geliştirmedeki verimliliği ve etkililiği artırmaktadır.

RPA geliştirme

Robotik süreç otomasyonu (RPA), yazılımlarla ve sistemlerle etkileşimi sağlayıp insan eylemlerini taklit ederek yazılım robotlarını oluşturmayı, harekete geçirmeyi ve yönetmeyi kolaylaştıran bir yazılım teknolojisidir. RPA’ler iş etkinliklerini yerine getirmek için kural tabanlı yazılımları kullanmaktadır. RPA’ler yapısı gereği Low-code süreçlerine benzerlik gösterebilmektedir. Bununla birlikte Low-code geliştirme platformları aracılığıyla düşük kod bilgisiyle RPA teknolojisi geliştirilebilmekte, güncelleme işlemleri gerçekleştirilebilmekte, RPA yönetimi ve takibi sağlanabilmektedir.

AI geliştirme

Yapay zeka (AI), en genel ifadeyle “insan zekası süreçlerinin makineler, özellikle bilgisayar sistemleri tarafından simülasyonu” şeklinde tanımlanmaktadır. IBM ise yapay zekayı “yapay zeka, bilgisayar bilimi ile sağlam veri kümelerini birleştirerek problem çözmeye olanak sağlayan bir alan" olarak tanımlamaktadır.

AI geliştirme süreçleri, oldukça kapsamlı ve sürekli güncel veri setlerine ihtiyaç duyan bir yapıya sahiptir. Bununla birlikte geleneksel AI geliştirme süreçleri, teknik alt yapıya, ileri düzey programlama bilgisine ve deneyime ihtiyaç duymaktadır. Geleneksel AI geliştirme, yukarıda bahsedilen diğer geliştirme türleri gibi maliyetli, yetkin ve tecrübeli insan kaynağına ve zaman ihtiyaç duyan bir yapıdadır. Bu noktada Low-code/No-code platformlar diğer geliştirme türlerinde olduğu gibi AI geliştirmede birçok avantaj sağlayarak, geliştirme sürecini kolaylaştırmaktadır. Bu durumdan Forbes tarafından yayınlanan bir makalede şu şekilde söz edilmektedir;

“Yeni nesil Low-code/No-code platformlarının ortaya çıkışı çok heyecan verici. Bugün, nereye bakacağınızı bilirseniz, hemen hemen herkes konuya dalabilir ve makine öğreniminden yenilikçi şekillerde yararlanan uygulamalar oluşturmaya başlayabilir. Web hizmetleri ve müşteriye dönük uygulamalar tasarlamaktan satış ve pazarlama kampanyalarını koordine etmeye kadar, yapay zekayı kullanmaya başlamak her zamankinden daha kolay.”

Low-code/No-code geliştirme platformları, teknik kod yazmadan herkesin yapay zeka uygulamaları oluşturmasına izin vermektedir. Low-code platformlar, sürükle-bırak ve görsel arabirimi aracılığıyla yapay zeka uygulamaları geliştirmeyi herkes için kolaylaştırmaktadır.

Yukarıda aktarılan bilgiler öğrenme seti boyunca sürekli kullanılacak Low-code kavramına yönelik bilgiyi size sunmaktadır.

Bu öğrenme içeriği ile birlikte ilk modülümüzü tamamladık. Bir sonraki modülde Kuika Low-code platformuna giriş yaparak uygulama geliştirme süreci için ilk adımı atıyor olacağız.

Bu öğrenme içeriğinde Low-code tanımlaması, Low-code'un sağladığı avantajlar ve Low-code türleri aktarılmaktadır.

Low-code geliştirme platformları ile farklı türlerde uygulamalar geliştirebilirsiniz. Web uygulamaları, mobil (Android ve iOS işletim sistemlerine uygun) uygulamalar, IOT (Nesnelerin İnterneti), RPA (Robotik Süreç Otomasyonu), iş süreci ve iş akışı otomosyonları ve yapay zeka uygulamaları geliştirilebilmektedir.

Bu öğrenme içeriğinde Low-code tanımlaması, Low-code'un sağladığı avantajlar ve Low-code türleri aktarılmaktadır.

Low-code Platformlar ve Geliştirme Süreci

Temel bir tanımla Low-code, düşük kodla/az kodla, hızlı ve kolay bir uygulama geliştirme süreci sağlayan yazılım çözümleri olarak tanımlanmaktadır. Low-code geliştirme platformları ile web/mobil (Android ve iOS işletim sistemlerine uygun) uygulamalar, IOT, RPA, iş süreci ve iş akışı otomosyonları ve yapay zeka uygulamaları geliştirilebilmektedir.

Low-code platformlarının kullanımıyla birlikte uygulama geliştirme süreçleri hızlanmakta, üretim verimliliği artmakta, bakım süreçleri ve iş yükleri azalmakta ve maliyetler düşmektedir.

IBM’e göre Low-code geliştirme, az kod kullanımıyla, uygulama geliştirme sürecinde daha hızlı teslimat sağlayan “görsel” ve güncel bir yazılım geliştirme yaklaşımıdır.

Low-code geliştirme süreçlerinde, düşük kodlu bir platformun grafik kullanıcı arabirimi ve sürükle-bırak özellikleri, geleneksel yazılım geliştirme yaklaşımlarına olan bağımlılıkları ortadan kaldırarak geliştirme sürecini çeşitli açılardan otomatikleştirir.

Bu açılardan Low-code geliştirme, vatandaş geliştiriciler için büyük bir avantaj oluşturarak uygulama geliştirmeyi demokratikleştirir.

Low-code birtakım faydaları beraberinde getirmektedir. Bu faydalar;

  • Uygulama geliştirme sürecinde çevikliği geliştirir,
  • Hızlı ve verimli çözümler sağlar,
  • Maliyetleri azaltır,
  • Üretkenliği artırır,
  • Bakım süreçlerini hızlandırır ve kolaylaştırır,
  • Müşteri deneyimlerini olumlu anlamda etkiler,
  • Değişikliklere adapte olmaya kolaylaştırır.

Low-code Geliştirme Türleri

Low-code geliştirme platformları ile farklı türlerde uygulamalar geliştirebilirsiniz. Web uygulamaları, mobil (Android ve iOS işletim sistemlerine uygun) uygulamalar, IOT (Nesnelerin İnterneti), RPA (Robotik Süreç Otomasyonu), iş süreci ve iş akışı otomosyonları ve yapay zeka uygulamaları geliştirilebilmektedir.

Şimdi bu uygulama türlerini yakından inceleyelim!

Web uygulama geliştirme

Web uygulaması geliştirme, sunucularda barındırılan ve internet üzerinden kullanıcının cihazına teslim edilen, etkileşimli uygulama programlarının oluşturulmasıdır.

Bir web uygulamasının indirmeniz gerekmez ve bir ağ üzerinden her zaman web uygulamasına erişebilirsiniz. Web uygulamalar, frontend ve backend olmak üzere iki uçtan oluşmaktadır. Low-code geliştirme platformları aracılığıyla herhangi bir teknik bilgi ve programlama bilgisine ihtiyaç duymadan veya çok az ihtiyaç duyarak; Low-code bir platformun grafik kullanıcı arabirimi ve sürükle-bırak özelliklerini kullanarak uçtan uca bir web uygulaması geliştirebilirsiniz. Aynı zamanda geliştirdiğiniz uygulamaları Low-code platformlar aracılığıyla yayına alabilir ve dağıtabilirsiniz.

Mobil uygulama geliştirme

Mobil uygulama geliştirme, Android ve iOS vb. mobil işletim sistemlerine sahip akıllı telefonlar, tabletler ve dijital asistanlar için yazılım ve uygulama geliştirme sürecidir. Mobil uygulamaları cihaza önceden kurabilir, bir mobil uygulama mağazasından indirebilir veya mobil cihazlarda yer alan internet tarayıcısı aracılığıyla kullanabilirsiniz. Mobil uygulamalar, geliştirildiği cihazın sahip olduğu donanım ve teknik özelliklerine göre farklı geliştirme süreçlerinden geçebilmektedir.

Mobil uygulamalara gösterilen ilgi ve artan talep, mobil cihazların popülasyonunda gerçekleşen artış ile doğru orantılı olarak artış göstermiştir. Bu durumu günlük yaşamınız açısından da değerlendirebilirsiniz. Etrafınıza baktığınızda mobil cihazların sayısında gerçekleşen artışı gözlemleyebilirsiniz. Bu artış beraberinde bir ihtiyaç durumunu da getirmiştir. Var olan ihtiyaç durumuna yanıt vermek amacıyla mobil uygulamaların frontend ve backend'lerini geliştirmek için mobil uygulama geliştirme platformları kullanılmaktadır.

Geleneksel mobil uygulama geliştirme platformları farklı açılardan teknik bilgi ve programlama bilgisine doğrudan ihtiyaç duymaktadır. Dolayısıyla geleneksel platformlar aracılığıyla mobil uygulama geliştirmek için profesyonel bir yazılım geliştiriciden hizmet almak gerekmektedir. Bu durum maliyet, esneklik, hız ve verimlilik açısından mobil uygulama geliştirme sürecini olumsuz etkileyebilmektedir.

Bu noktada mobil uygulama geliştirme sürecinde Low-code geliştirme platformları bir cazibe noktası oluşturabilmektedir. Low-code geliştirme platformları aracılığıyla, düşük kodla/az kodla, sürükle-bırak yapıda, hızlı ve kolay bir geliştirme süreci yürütebilirsiniz. Low-code geliştirme platformları hem yerel (native) hem de hibrit mobil uygulamaları geliştirmeye olanak sağlamaktadır.

Süreç otomasyonları (Process automation) geliştirme

Process Automation en temel ifadeyle, karmaşık bir yapıda bulunan mevcut iş süreçlerini otomatikleştirmek için uygulama geliştirmeyi ifade etmektedir. Süreç otomasyonu bir kurum için tüm paydaşların ve tüm birimlerin sahip olduğu tüm süreçlerin otomatikleştirilmesini sağlamaktadır.

Süreç otomasyonları, yapısı itibariyle karmaşık ve sürekli geliştirilmeye/güncellenmeye ihtiyaç duymaktadır. Bunun temelinde yatan sebep ise iş süreçlerinin sürekli değişim ve gelişim göstermesidir. Bu durumda geliştirilen süreç otomasyonlarının güncellenmesi ve değiştirilmesi de kolay, hızlı ve daha az maliyetli yapıda olmalıdır. Low-code platformlar aracılığıyla geliştirilen süreç otomasyonları Low-code platformların sahip olduğu teknik yapı ve avantajlar sayesinde verimli bir yapı sağlamaktadır. Low-code platformlar aracılığıyla geliştirilen süreç otomasyonları ölçeklenebilir, uyarlanabilir ve taşınabilir bir yapıdadır.

IoT (Nesnelerin interneti) geliştirme

Genel bir tanımla IoT geliştirme, bir ürünün sensörler ya da farklı donanımlar aracılığıyla belirli verileri izleyebileceği, toplayabileceği, aktarabileceği, analiz edebileceği ve analiz sonucunda fiziksel cihazların uygun hareketini sağlamak için yazılımların ve donanım parçalarının birleştirilmesidir. IoT cihazları günlük yaşamda sağlıktan iletişime kadar birçok alanda sıklıkla görebilirsiniz. Örneğin, kullandığınız akıllı saat, evinizde yer alan akıllı bir priz veya sağlık alanında yer alan akıllı bir protez IoT geliştirmenin ürünüdür. IoT geliştirmenin tanımında da aktarıldığı üzere, geliştirme süreçleri kapsamlı ve zor süreçlerdir. Bu süreçler birçok farklı teknolojiyi ve buna bağlı olarak da farklı alanlarda uzmanlık deneyimlerine ihtiyacı ortaya çıkarmaktadır. Dolayısıyla IoT geliştirme süreci iş gücü, zaman, maliyet ve çabaya ihtiyaç duymaktadır. Özellikle iş gücü konusunda yaşanan yazılımcı eksikliği, IoT geliştirme süreci kritik bir noktadır. Bu doğrultuda Low-code IoT geliştirme platformları sunduğu özellikler ve avantajlar sebebiyle IoT geliştirmenin en kolay ve sürdürülebilir yöntemidir. Low-code geliştirme platformları, görsel, sürükle-bırak ve model odaklı yapısı sebebiyle IoT uygulamaları geliştirmedeki verimliliği ve etkililiği artırmaktadır.

RPA geliştirme

Robotik süreç otomasyonu (RPA), yazılımlarla ve sistemlerle etkileşimi sağlayıp insan eylemlerini taklit ederek yazılım robotlarını oluşturmayı, harekete geçirmeyi ve yönetmeyi kolaylaştıran bir yazılım teknolojisidir. RPA’ler iş etkinliklerini yerine getirmek için kural tabanlı yazılımları kullanmaktadır. RPA’ler yapısı gereği Low-code süreçlerine benzerlik gösterebilmektedir. Bununla birlikte Low-code geliştirme platformları aracılığıyla düşük kod bilgisiyle RPA teknolojisi geliştirilebilmekte, güncelleme işlemleri gerçekleştirilebilmekte, RPA yönetimi ve takibi sağlanabilmektedir.

AI geliştirme

Yapay zeka (AI), en genel ifadeyle “insan zekası süreçlerinin makineler, özellikle bilgisayar sistemleri tarafından simülasyonu” şeklinde tanımlanmaktadır. IBM ise yapay zekayı “yapay zeka, bilgisayar bilimi ile sağlam veri kümelerini birleştirerek problem çözmeye olanak sağlayan bir alan" olarak tanımlamaktadır.

AI geliştirme süreçleri, oldukça kapsamlı ve sürekli güncel veri setlerine ihtiyaç duyan bir yapıya sahiptir. Bununla birlikte geleneksel AI geliştirme süreçleri, teknik alt yapıya, ileri düzey programlama bilgisine ve deneyime ihtiyaç duymaktadır. Geleneksel AI geliştirme, yukarıda bahsedilen diğer geliştirme türleri gibi maliyetli, yetkin ve tecrübeli insan kaynağına ve zaman ihtiyaç duyan bir yapıdadır. Bu noktada Low-code/No-code platformlar diğer geliştirme türlerinde olduğu gibi AI geliştirmede birçok avantaj sağlayarak, geliştirme sürecini kolaylaştırmaktadır. Bu durumdan Forbes tarafından yayınlanan bir makalede şu şekilde söz edilmektedir;

“Yeni nesil Low-code/No-code platformlarının ortaya çıkışı çok heyecan verici. Bugün, nereye bakacağınızı bilirseniz, hemen hemen herkes konuya dalabilir ve makine öğreniminden yenilikçi şekillerde yararlanan uygulamalar oluşturmaya başlayabilir. Web hizmetleri ve müşteriye dönük uygulamalar tasarlamaktan satış ve pazarlama kampanyalarını koordine etmeye kadar, yapay zekayı kullanmaya başlamak her zamankinden daha kolay.”

Low-code/No-code geliştirme platformları, teknik kod yazmadan herkesin yapay zeka uygulamaları oluşturmasına izin vermektedir. Low-code platformlar, sürükle-bırak ve görsel arabirimi aracılığıyla yapay zeka uygulamaları geliştirmeyi herkes için kolaylaştırmaktadır.

Yukarıda aktarılan bilgiler öğrenme seti boyunca sürekli kullanılacak Low-code kavramına yönelik bilgiyi size sunmaktadır.

Bu öğrenme içeriği ile birlikte ilk modülümüzü tamamladık. Bir sonraki modülde Kuika Low-code platformuna giriş yaparak uygulama geliştirme süreci için ilk adımı atıyor olacağız.

Yardımcı kaynaklar

Sözlük