MIT App Inventor is a web application integrated development environment targeted towards kids.
You can quickly make an app in the environment, using its blocks-based tools to create complicated apps.
It uses drag and drop blocks for behaviors and specific components.
Targeted towards Android phones using either a connected phone or an emulator. It stores your work and keeps track of projects.
Upon completing an app, you can package and produce it as a stand-alone application.
A “hardware fiddle” website that lets users create workspaces to communicate with their hardware from software
Allows users to fork somebody else’s workspace as well
Provides a Serial Port JSON Server that can be run locally or remotely on your computer which connects to the serial port of your hardware (ex: Arduino)
A python module that is used as a powerful interfacing tool that uses python for serial port communication.
Port is configured for binary transmission (making it universally usable)
Can access all port settings through this module
Provides (and automatically selects) backends for Python running on Windows, OSX, Linux, BSD (possibly any POSIX compliant system) and IronPython
Simulink is a software that runs with Matlab to allow users to design and simulate their systems without having to write C, C++, or HDL code.
Simulink allows collaboration between team members in a multi-domain environment. The simulations created can be shared between collaborators, or to suppliers and clients.
The simulations allow reduction in expensive prototypes by enabling the user to test their system under constrained conditions.
The software automatically generates C and HDL code that functions in accordance to the model the user creates.
The interface encompasses “a graphical editor, customizable block libraries, and solvers for modeling and simulating dynamic systems”
Platform with three major components being the Blynk App, the Blynk Server, and the Blynk libraries
The Blynk App allows users to create a simple interface for projects using the simple widgets that can be dragged and dropped
The Blynk server allows users to manage communications between a smartphone and hardware. Users can either use the Blynk cloud servers or they can run a private Blynk server locally. It is open source and can handle thousands of devices
The Blynk libraries allow users to communicate between the server and process all incoming and outgoing commands
Has a wide range of possible connections, including ethernet, wifi, GSM, 2G, 3G, LTE, etc.
It has a flexible firmware API, with a choice from C++, JS, Python, or HTTP
wxWidgets is a popular cross-platform library written in c++ for GUI applications
It covers a broad range of UI development from window layout to event handling
It supports a broad swath of platforms from Linux and Unix variants, MacOS, and Windows.
It has many wrappers and bindings written in popular languages such as Python, Perl, or C#.
It provides a useful set of features to compliment GUI features such as File IO, Networking, and threading.
Designed with a set of comprehensive tools to bridge the gap between Grasshopper (Rhino plug-in), the Arduino, and many other Input/Output devices.
Uses Drag and Drop Programming
Gives users a very friendly interface that receives or sends information easily. For example, opening COM ports and sending data to a microcontroller or receiving data from a certain port on that microcontroller. Alleviates the hassle of interfacing with external devices.
Prebuilt components allow users to use many popular hardware devices such as the Kinect (Motion detection or tracking) and the Wii Nunchuck.
Mostly used to interface with Grasshopper where visual inputs or sensory inputs taken using Firefly can be mapped to a 3D plane inside Rhino.
Here is a gallery section that provides many examples of projects integrated with Firefly.