



With the increase in the number of programming languages, the diversity of idioms and the opposite coding concepts we adopt, software development appears to be moving in circles and progress is becoming more and more of a challenge.

All this complexity gives us the opportunity for an approach that allows developers and ordinary users to focus more on delivering real value rather than struggling with the basic definitions of coding languages. On the other hand, Visual programming with its higher-level abstraction, allows people to implement their ideas using illustration, in a way that makes sense to humans. That is why we are going to take a look at some visual programming platforms and discuss what they have to offer us:





• Node-Red

“Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.”

Node-RED is a flow-based development tool for visual programming which allows wiring hardware devices, APIs and online services together. Generally, it is a tool for Internet of things but Node - RED can be used not only for IOT applications but also to assemble flows of various services and as a generic event processing engine. Node-RED is available as open source and has been implemented by the IBM Emerging Technology organization.

Features:

1. As it is built on Node.js, it supports a lightweight runtime environment.

2. The various flows created in Node-RED are stored using JSON, which can be easily imported and exported for sharing with others.

3. You can run it locally (Docker support, etc).

4. It can run in the cloud environment like Bluemix, AWS, MS-Azure, etc.

Programming Environment: browser-based editor

Hardware Support: Raspberry Pi, BeagleBone Black, Arduino, Android based devices, etc.









• NETLab Toolkit

“NTK (the NETLab Toolkit) is a visual authoring system for designers, developers, makers, researchers and students who want to design and build tangible Internet of Things projects.”

NTK is using a simple drag-and-drop interface to integrate hardware with media and create interactive projects. The integration happens through widgets that consist of sliders, toggles, and on-screen controls. By connecting a set of these widgets together users can obtain their desired functionality through this software.

Features:

The Code widget allows users to add custom JavaScript snippets, so users can create their own widgets.

Programming Environment: flash environment, browser-based editor

Hardware Support: Arduino, Linux embedded systems like the Intel Edison and Raspberry Pi.









• ArduBlock

“ArduBlock is a programming environment designed to make physical computing with Arduino easier for beginners.”

ArduBlock uses interlocking blocks of functions to program devices in order to make physical computing with Arduino easier for beginners Instead of writing code, worrying about syntax, and misplacing semicolons. It is a graphical programming add-on to the default Arduino IDE.

Features:

1. it generates the lines of codes

2. In addition to blocks that are literal translations of the functions in the Arduino library, it also provides some predefined blocks for working with a variety of electronic components.

Programming Environment: A plugin which is added to IDE of arduino

Hardware Support: Scoop, Adafruit, DFrobot, TinkerKit





• Scratch

“Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.”

Scratch is an object-oriented block-based development kit with zero-code interface that allows you to create animations, interactive stories, games, and music by assembling component blocks that are actually units of code represented by interconnecting shapes. Scratch uses blocks that represent instructions for the computers to carry out so the errors that often occur while programming are eliminated. These blocks are connected together like puzzle pieces. With the help of Scratch, users are introduced to concepts like algorithms, loops, and conditionals.

Features:

1. Scratch helps young people learn to think creatively, reason systematically, and work collaboratively

2. allows children age 8-16 to create animations, interactive stories, games and music (target audience)

hardware support: GoPiGo Raspberry Pi Robot, Microphone, Webcam, Joystick









• Modkit

"Drag & Drop Programming you can touch”

Modkit simplifies the process of programming for physical devices by dragging and dropping little code blocks. Heavily inspired by the Scratch programming environment (from MIT Media Lab's Lifelong Kindergarten Group), Modkit enables anyone including kids, artists and inventors to build with electronic kits and components including motors, sensors, lights, sound, and the popular Arduino and Arduino compatible development boards

Programming Environment: Desktop

Hardware Support: Arduino









• Niomatic

“ Niomatic is a comprehensive manageable solution which makes it possible to develop and design diverse enterprise-grade and zero-code application (Applet) with user-friendly interfaces.”

Niomatic is a platform consisting of blocks that represent different functions, which can be connected together in order to build diverse applications from simple applets to complex IOT systems. It is fast, easy to use and comprehends a vast amount of blocks from social media to cloud services, Hardware to simple math functions. Unlike the programs we talk in this article, Niomatic is not limited to a specific age group and anyone with a phone or tablet is capable of using it for his or her special purpose.

Features:

comprehends an extensive diversity of services like Pubnub, Telegram, Slack and etc.

Preview your UI design and change it as you like through features that it contains

The code structure of the applets is stored in the JSON format. This will allow network transmission and interpretation across all operating systems.

light-weight applet structure.

Programming Environment: Web app, android









• OutSystems

“OutSystems is a low-code platform that lets you visually develop your entire application, easily integrate with existing systems, and add your own custom code when you need it.”

OutSystems is an enterprise solution committed to addressing digital transformation, mobile and faster delivery cycles. The low - code application delivery platform is critical for the rapid and easy development of applications from small departments to large complex missions The application can be developed and delivered across all platforms and form factors seamlessly. But that's just part of what it does. It also speeds up and makes it easier to integrate applications with existing cloud and on-site databases and record systems.OutSystems is the #1 low-code platform for rapid enterprise-grade application development.

One of the disadvantages of this platform appears to be the high cost of product and business plans and the fact that they are not typically suitable for individual use.

Feature:

1. Rapid productivity: You create your apps and integrate in weeks, not months.

2. Multi-channel development: Developers use visual modeling to develop an application that can run on any device or platform. Risks, development time and costs are significantly reduced with error-free, automated deployments.

3. No lock-in: No runtime interpreters or engines are required to enable OutSystems applications. It generates apps with a standard architecture.

Programming Environment:

Cloud, SaaS, Web

Installed - Windows

Mobile - Android Native, iOS Native









• K2

“With K2’s low-code digital process automation platform, you can develop and deploy powerful process applications quickly and at scale across your organization.”

Process applications like departmental workflows are easier to develop and deploy with k2’s low-code digital processing platform. K2 offers both cloud-based and on-premises solutions to build your business processes. K2 is able to automate workflows using visual drag-drop designer or get a real-time analysis with application usage report. It also contains out-of-the-box apps that help to jumpstart your process automation.

One of the cons of this platform is the low-speed performance while tasks are increased.

Feature:

K2 offers both cloud-based and on-premises solutions to build, empower and control your business processes.

Programming Environment:

Cloud, SaaS, Web

Installed - Windows

Mobile - Android Native, iOS Native









• Appian

“We’re here to simplify what it takes to turn great ideas into powerful business applications that deliver significant value.”

Appian is able to turn Business process management, Artificial intelligence, Robotic process automation, Data and integrations into intelligent automation with a low-code process that is able to speed up your app creation, get you insolated data and bring it to you by creative visual design and get your apps smarter by its native AI services.

Features:

1. Fast app creation

2. Beautiful user experience

3. Data quality and consistency ensured

Programming Environment: Windows, Mac

