Low-code mobile development tools

Review: EachScape cloud IDE works mobile magic

EachScape accomplishes the hat trick of generating iOS, Android, and Web apps from an online drag-and-drop designer

At a Glance
  • EachScape v5.0

Low-code mobile development tools

Show More

EachScape is a cloud-based, drag-and-drop editor for native iOS and Android apps, as well as HTML5 Web apps. That might seem like an odd combination, but it works well. In addition, EachScape includes mobile back-end services for apps you build with its platform, Web preview for all apps, and an online build service.

The architecture that allows EachScape to build iOS, Android, and HTML5 apps from a drag-and-drop editor (the Cloud Studio) depends on blocks and modules, as well as layouts and actions. Under the hood, EachScape has implemented a set of classes in Objective-C for iOS, in Java for Android, and in CoffeeScript for Web apps that correspond to ads, buttons, containers, controls, data connectors, data input, HTML, images, maps, media, navigation, placeholders, RESTful remote queries, social networks, and text. Advanced developers can build new blocks and modules for EachScape to extend its capabilities, using its SDKs.

If you want to build hybrid apps with EachScape, then use HTML blocks or iterating HTML blocks. They basically give you Web views in native iOS and Android apps.

The EachScape MBaaS includes asset collections, data connectors, analytics, mobile ads, social media, push notifications, location services, and billing. EachScape does not currently offer back-end services outside of platform subscriptions, although it seems to be willing to do so, at least for push notifications.

EachScape templates

Figure 1. EachScape offers a range of templates to start you off, as well as a blank app (the Visual Editor option) when you create a new app in its Web Studio.

Cloud Studio

When you first create a new app in EachScape (Figure 1), Cloud Studio offers a range of sample templates to start, as well as a blank app (the Visual Editor option). The samples have been designed to incrementally reveal new techniques and concepts. For example, the Directory sample (Figures 2 through 5) demonstrates list blocks, layers, simple views, selector blocks, actions, and “cloud collections,” which are stores of text, images, sounds, and video for your apps.

The EachScape Cloud Studio has a Microsoft Visual Basic/Borland Delphi kind of development paradigm. (It’s a little ironic that the product name of Delphi was supposed to be Borland AppBuilder -- but I digress.) Drag a block onto a page of the app, position it visually, and configure its properties (Figure 3). View a Web preview (Figure 4), play with it, and iterate. Use a cloud data collection (Figure 5) or another data source (Figure 6) to populate the app with data.

When you’re ready to try the app on a device or in a simulator, build the app online and check the targets you’d like -- various ranges of Android versions, iOS 7 and 8, and/or HTML5. Once the app for any target has been built on the EachScape cloud, which can take a few minutes, especially the first time you build an app for a given target, you can download the app for testing in a device or simulator. A QR code on the build history screen makes the download to a device painless.

If you have an Enterprise license and mobile programming skills, you can generate and download the source code for your build and work with it locally in the appropriate development tools. The EachScape platform enforces the need to build and test a release candidate before you can create a commercial build.

EachScape media

Figure 2. EachScape maintains an online media folder for each of your apps. You can bring in media from the Web and by uploading from your computer.

Extending app capabilities

If EachScape doesn’t have a block you need and you have an Enterprise license, you can add native code using the EachScape SDKs. It helps if you have the skills (as a company) to create the needed blocks for Android (Java), iOS (Objective-C), and HTML5 (CoffeeScript or JavaScript). If not, you can uncheck the unsupported targets for your custom block after adding it to the builder.

Many app designers have the skills needed to use the Cloud Studio; many mobile developers are more comfortable dealing with code than design, and they would likely work on creating and editing blocks for use by the app designers. That kind of stratification is similar to the distinction between class creators and application programmers that you see in object-oriented development shops.

EachScape allows a team administrator to manage members and permissions with fine-grained control. The administrator can also control which workspaces each member can access and what they can do with each.

EachScape Web Studio

Figure 3. In the EachScape Web Studio, you can drag and drop blocks and configure them to create an app.

Cloud Collections and data connections

The Cloud Collections feature of EachScape (Figure 5) is a little like the MongoDB implementation in most MBaaS platforms and a little like the CMS in WordPress. It’s pretty good and offers some control over when items are published.

EachScape preview

Figure 4. Every app you build online with EachScape can be previewed as a Web app in a device frame. Previewing native-only functionality such as push messaging requires building and installing native apps.

The EachScape Data Connector (Figure 6) is essentially limited to RESTful XML, RSS, and JSON data sources, and EachScape currently offers no tools of its own to create RESTful wrappers around systems of record. According to the company, those will be coming in Q2 2015. I’m not sure whether it’s currently possible to create your own server-side blocks that access SQL databases or enterprise applications directly. After all, you don’t want to access such data from a mobile device without any filtering and buffering.

While creating RESTful wrappers for databases and enterprise applications is not rocket science, it requires server-side development skills that mobile app designers won't likely have. For now, teams using EachScape will probably need to have a back-end programmer available, at least as a consultant.

The most difficult part of using server data from a mobile device is supporting occasionally connected apps and resolving data conflicts. While EachScape has the basic local storage and event handling tools that would allow such a build, the solution is not simple enough for most designers. That’s another area where you’d need to involve real developers.

MBaaS options

On the back end, besides data connectors and cloud collections, EachScape offers analytics, ads, social media access, push notifications, location services, and billing. That’s a pretty good list of MBaaS capabilities.

EachScape captures analytics and can generate reports on demand for nine indicators. It isn’t the best set of analytics I’ve ever seen, but at least EachScape has them; some other app builders basically tell you to use third-party analytics such as New Relic. Not that there’s anything wrong with New Relic, but an MBaaS should include some analytics. EachScape passes on that measure, but doesn’t excel.

EachScape Cloud Data Collections

Figure 5. EachScape Cloud Data Collections are basically NoSQL databases that offer you some control over when items are published, like a content management system.

EachScape has actions and blocks to display mobile ads from AdMob, AdMarvel, Google’s AdSense and DoubleClick, and Rhythm. That includes the ability to display interstitials from Google DoubleClick for Publishers.

For social media, EachScape has actions for Facebook, Foursquare, Gigya, LinkedIn, and Twitter. EachScape supports its own push notification service, as well as Urban Airship, for both iOS and Android devices. Push notifications cause a display when your app is not running and cause an event when your app is running. Your app can handle the event however it wishes.

EachScape can display a map (Google or Apple, depending on the device), save the device location, and monitor beacons on all three target platforms. On Android it can turn Awiloc hybrid GPS and WLAN position monitoring on and off. On iOS it will eventually be able to set up and use proximity fences, but the feature is still in beta.

EachScape data sources

Figure 6. EachScape can consume local and remote data sources as well as cloud collections, albeit in limited formats. The company plans to extend these capabilities in Q2.

EachScape has an action for in-app purchases and another for restoring in-app purchased content when an app is installed on a new device. In-app purchases are a little different on each target platform.

Overall, I find EachScape very good as a mobile app builder. Its online IDE is very nice, it has a good array of capabilities, and it is modestly priced in the lower tiers. I can’t say much about the pricing of the Enterprise edition, other than it depends on factors such as the number of developers and apps, the level of support, and the other services required.

On the downside, EachScape lacks SQL database and enterprise application connections other than through RESTful interfaces. It also lacks its own way to wrap existing applications and databases with REST services, though one is planned for Q2 2015. In addition, while EachScape has the basic building blocks from which a skilled developer can implement occasionally connected apps, doing so can be a lot of work. That process could be made much easier.

InfoWorld Scorecard
Capability (25%)
Integrations (25%)
Client support (20%)
IDE (20%)
Value (10%)
Overall Score
EachScape v5.0 9 7 8 9 9 8.3
At a Glance
  • EachScape is a very good mobile app builder, combining a nice online IDE with a number of mobile back-end services.

    Pros

    • Very good cloud-based integrated development environment
    • Targets native Android, native iOS, and HTML5 Web apps
    • Provides a good range of MBaaS options and supports third-party services
    • Integrates with XML, RSS, or JSON data accessed by a RESTful URL scheme

    Cons

    • Can't wrap existing applications and databases with REST services, but an option is planned for Q2 2015
    • Doesn't support occasionally connected apps easily, although it can be done using network events and local storage

Copyright © 2015 IDG Communications, Inc.