Develop Apps for the Internet of Things
Evothings Studio is a set of development tools, designed for development of mobile apps using web technologies. Evothings Studio is specifically designed for development of apps for the Internet of Things.
Evothings Studio consists of:
- Evothings Workbench - a desktop application used to run apps on mobile devices.
- Evothings Client - a mobile application that makes it easy to connect to the Workbench and run your apps on connected devices.
- Example Apps - a collection of example programs that you can use to get started quickly and get inspiration for making your own IoT apps.
- Native Plugins - a set of plugins that are implemented in the Cordova framework, and provide native functionality from JavaScript.
With Evothings Workbench you can take advantage of HTML5 technologies and JavaScript to develop mobile web apps and hybrid apps - with very fast turn-around time. Use any text editor or graphical editor to author HTML, CSS and JavaScript. Every time you save, the app is instantly reloaded, and you can directly see the result. This also works with image editors.
The Evothings mobile app is a native application that you run on your mobile devices. It connects to Evothings Studio to enable live editing of your HTML/CSS/JavaScript code. The app contains native functionality that is accessible from JavaScript, such as Bluetooth Low Energy.
Getting Started
Very quick version:
- Download and run the Evothings Workbench application on your computer.
- Click the "Run" button of the "Hello World" example. If there is no browser or device connected, a web browser on the PC will be opened with the project. Note that mobile device native functionality is only available when you run your programs using the EvoStudio App.
Slightly longer version:
- Download and run the Evothings Workbench application on your computer.
- Download and install the Evothings App on your mobile device.
- Launch the app and select "Scan". Select your computer running Evothings Workbench from the list.
- Alternatively, enter the URL shown in the bottom panel of the Workbench and click "Connect".
- Note: Mobile devices must be on the same local WiFi network as the computer running Evothings Workbench to be able connect using the "Scan" method.
- The app should now connect to Evothings Studio and display the message "Connected".
- Click the "Run" button of one of the apps in Evothings Workbench. Does the mobile display the app you selected? If so, you are up and running!
- You can connect any number of mobile devices, and instantly see the result on each of them!
- Note: If your computer has a public IP address, you can connect devices from anywhere on the Internet!
Deploying Your Apps
To deploy your final app developed with Evothings Studio on an app store, you build your app with Apache Cordova. Read more in the guide How To Build Native Apps.
The quickest and easiest way to share your app with others, is putting your app on a web server, asking your users to download Evothings Client and enter the URL to your app. Find out the details in the guide Share Your App.
Release Notes
Evothings Studio 0.8.0 Beta
Supported platforms for Evothings Workbench are OS X, Windows and Linux.
Supported platforms for the Evothings Client app are Android and iOS.
Evothings Client now supports sharing of apps by hosting them on a web server. Furthermore, you can use evothings: URLs to make it easy for people to launch your apps by selecting a link on a web site or in an email. Read more on the page Share Your App.
The Evothings Client app features new native plugins for iBeacons (iOS, Android) and serial Bluetooth (Android), and updated Bluetooth Low Energy (BLE) plugin.
Cordova plugins that present potential security risks have been removed from Evothings Client (e.g. file access and contacts). If you need an app with these plugins, you can build your own version of Evothings Client or contact us.
Documentation is updated with a guide for How To Build Native Apps from your Evothings project using Apache Cordova.
The Evothings Client app has a new UI.
There is a new example app for iBeacons.
The Example apps also have the new UI design, with improved navigability, and a stronger visual identity and clarity.
Evothings Workbench now displays a notification when a new version of Evothings Studio is available.
Find all downloads for this version of Evothings Studio at: evothings.com/download
Evothings Studio 0.7.3 Beta
Supported platforms for Evothings Workbench are OS X, Windows and Linux.
Supported platforms for the Evothings client app are Android and iOS.
This version of Evothings Studio features updated examples, bug fixes, improved BLE support in the Evothings Client app on Android and iOS.
Positions of the Workbench Project window (the main window) and the Tools window are now saved between sessions. The Tools window has improved scrolling of the log panel, and a button to switch auto scroll on and off.
Find all downloads for this version of Evothings Studio at: evothings.com/download
Evothings Studio 0.7.0 Beta
Supported platforms for Evothings Workbench are OS X, Windows and Linux.
Supported platforms for the Evothings client app are Android and iOS.
This version introduces support for Bluetooth Low Energy (BLE) on iOS, available in the iOS Evothings Client app. Please note that BLE on Android is not always stable. Unfortunately this affects Evothings Workbench in that it may not work to reload apps that use BLE. A workaround is to restart the Evothings client app if BLE should stop working. On iOS reloading BLE app usually works fine. It is however important to close connected devices before the page reloads. Please see the example programs for ways to accomplish this.
Evothings Studio 0.6.0 Beta
Supported platforms for Evothings Workbench are OS X, Windows and Linux.
Supported platform for the Evothings client app is Android (iOS will follow in a forthcoming release).
Bluetooth Low Energy (BLE) is implemented in the Evothings client app, but please note that BLE on Android is not always stable. Unfortunately this affects Evothings Workbench in that it may not work to reload apps that use BLE. A workaround is to restart the Evothings client app if BLE should stop working.
Good To Know
For apps that do not require native device functionality, any modern browser (desktop or mobile) can be used as a client with Evothings Workbench. When connecting using a browser, use the URL displayed in the bottom panel of the Workbench window (don't omit the port number).
You are encouraged to explore the "Tools" window tab in the Workbench. This window displays output from the hyper.log() function, and lets you evaluate JavaScript code interactively on connected devices. This is very useful for debugging purposes, for trying out code snippets and inspecting the value of variables.
Evothings Workbench also contains a Feedback button, please let us know what you think.
Bugs and feature requests can be reported using the GitHub issue tracker, see links to repositories below under the "Source Code" section.
Source Code
The source code for EvoStudio is available on GitHub under the Apache License:
- Evothings Workbench: github.com/evothings/EvoThingsStudio
- Evothings client app: github.com/evothings/EvoThingsClient
- Examples: github.com/evothings/EvoThingsExamples
- Documentation: github.com/evothings/EvoThingsDoc
- Apache Cordova BLE Plugin: github.com/evothings/cordova-ble
Evothings Studio is based on HyperReload:
github.com/divineprog/HyperReload
About Us
The Evothings team is a seasoned bunch of developers who enjoy connecting phones to other things. We love to improve, refurbish, evolve and augment our surrounding anywhere buildings, vehicles and gadgets, and make them smarter. Visit us at: evothings.com
Copyright © 2013-2014 Evothings AB