Flowcode Web Developer
Posted: Tue Dec 05, 2023 4:58 pm
Web Developer is a new feature of Flowcode first introduced in v10.1.0.38 (released earlier today). This feature allows Flowcode users to create interactive web pages that can interact with a wide range of data sources. One of its main uses will be to develop HMIs (Human-Machine Interfaces) to control and acquire data from your embedded projects.
The diagram below shows the different types of Flowcode project now available and where each deployed project will live: Note that once a Flowcode Embedded project has been created, it can be converted to retarget an alternative embedded device. Often this can happen without requiring program changes, especially when changing between similar targets (e.g., to a different PICmicro in the same family). However, an Embedded project cannot be retargeted to or from an App Developer project. Likewise, PC and Web Developer projects cannot be retargeted between each other.
PC Developer apps and Web Developer apps do not necessarily need to communicate or link with hardware. You could create stand-alone games or apps that teach mathematics. However, Flowcode users are generally interested in embedded projects and so both App Developer project types will often be used to interact with embedded devices.
Web Developer projects will often receive data by accessing external websites (which may actually just be pages served by your own embedded device) using HTTP. Almost just like we would type in a web address to a browser, the Web Developer app will use the Fetch component to send an optional list of parameters to a web page, and the webserver will respond with information that is easily readable by our app.
Often, the data received is a JSON text string (which is a collection of name/value pairs of information). But not always. It may just be a single integer value, or even just "yes" or "no".
This communication can be used to send information from our Web Developer app and/or receive information from the external website (or embedded device).
The other form of internet communication we are supporting is MQTT. This is quite common within IoT and allows communication with devices that do not have a direct API to connect to using HTTP.
The diagram below shows the different types of Flowcode project now available and where each deployed project will live: Note that once a Flowcode Embedded project has been created, it can be converted to retarget an alternative embedded device. Often this can happen without requiring program changes, especially when changing between similar targets (e.g., to a different PICmicro in the same family). However, an Embedded project cannot be retargeted to or from an App Developer project. Likewise, PC and Web Developer projects cannot be retargeted between each other.
PC Developer apps and Web Developer apps do not necessarily need to communicate or link with hardware. You could create stand-alone games or apps that teach mathematics. However, Flowcode users are generally interested in embedded projects and so both App Developer project types will often be used to interact with embedded devices.
Web Developer projects will often receive data by accessing external websites (which may actually just be pages served by your own embedded device) using HTTP. Almost just like we would type in a web address to a browser, the Web Developer app will use the Fetch component to send an optional list of parameters to a web page, and the webserver will respond with information that is easily readable by our app.
Often, the data received is a JSON text string (which is a collection of name/value pairs of information). But not always. It may just be a single integer value, or even just "yes" or "no".
This communication can be used to send information from our Web Developer app and/or receive information from the external website (or embedded device).
The other form of internet communication we are supporting is MQTT. This is quite common within IoT and allows communication with devices that do not have a direct API to connect to using HTTP.