News

Startup Uses JavaScript for Cloud-Based, Native Mobile Apps

Startup Synchro Labs Inc. launched a platform for using JavaScript and the Node.js framework to create cloud-based, cross-platform mobile apps for the enterprise, targeting the replacement of legacy intranet apps.

Now in a beta preview, the platform isn't ready for prime time production, still working out a new approach to create native mobile apps with Web-based technologies. While several solutions exist to write such apps in JavaScript (Appcelerator/Titanium, Cordova/PhoneGap, Telerik and so on), Synchro provides a client-server platform in which nearly all of the code -- even the UI logic -- resides in a cloud-based server.

Also, in this early stage at least, Synchro isn't designed for general-purpose native apps, but rather is targeting a specific niche: to basically modernize existing legacy apps -- commonly running on a company intranet -- in the new age of enterprise mobility.

"Synchro helps solve a problem facing many enterprises: the need for a fast and simple solution to convert their backlog of intranet apps to mobile," the company said in a statement yesterday announcing the new platform. "Enterprises can use Synchro to create apps that install and run on mobile devices, but where all of the application code, including client interaction logic, actually runs in the cloud."

So, while the platform does provide native apps that can be installed through stores such as Google Play and the Apple App Store (unlike pure Web-based apps), those native "apps" are just mechanisms to connect to the cloud-based code.

The PropertyCross Cross Platform Benchmark Shows the Synchro Approach Uses Less Code
[Click on image for larger view.] The PropertyCross Cross Platform Benchmark Shows the Synchro Approach Uses Less Code (source: PropertyCross via Synchro Labs)

Synchro co-founder Robert Dickinson expounded on this idea in an e-mail exchange with ADTmag.

"The app that a developer would distribute to their end users is created using the Synchro App Builder," Dickinson said in response to an inquiry. "This tool takes the name and icon for the app, as well as the endpoint that identifies where the app server is running, and combines that with the client code for each platform to produce the api/ipa/etc. Note that none of your app code is part of this installable app. It's just a shell that the users installs and uses to access your app.

"So the process is not unlike Appcelerator, but the result doesn't include any of your app-specific code (that's all in your app running in the cloud)," Dickinson continued. "The benefit of your code being 100 percent in the cloud is that you can make changes/updates and redeploy instantly (like you would do with a Web site) without having to update and redeploy the mobile client app."

Synchro Uses the MVVM Design Pattern
[Click on image for larger view.] Synchro Uses the MVVM Design Pattern (source: Synchro Labs)

With its focus on intranet app replacement, where the legacy apps are generally "connected" apps which primarily interact with live services in the same infrastructure, Synchro doesn't provide apps that work without Internet or network connectivity, just like the Web-based apps they're meant to replace, Dickinson noted.

Synchro president and CEO Dickinson, a veteran industry entrepreneur, was in Portland, Ore., announcing and demonstrating the technology of the new Synchro platform at the Node.js Interactive Conference, which concludes today.

Node.js is an integral part of the Synchro platform, with the npm package manager being used to install the Synchro command-line interface (CLI), create apps and run the Synchro server as a Node.js server instance.

While the Synchro App Builder -- used to create branded binary distributable apps that point to the server instance -- is in beta preview and not publicly available yet, the company does provide a "Synchro Civics" app available through the three major app stores, which serves as an example app created with the App Builder. It uses less than 200 lines of JavaScript code, running in the cloud, to show users their government representatives at various levels, based on the user's address, the company said.

The company also has Synchro Explorer mobile app preconfigured with endpoints pointing to the Synchro Civics endpoint and a Synchro Samples endpoint, which can help interested developers explore and test the technology. The company has provided Synchro CLI and Synchro API samples and documentation on GitHub.

"We've been telling developers that if they get an app ready to distribute, they can open a support ticket and we'll build their binaries for them," Dickinson told ADTmag. "Eventually this will be something you will be able to do from our Web site.

"You can follow the instructions on our 'Get Started' link and actually get an app built and running using our Synchro Explorer client to test with right now," Dickinson continued. "Once you get a server app running and ready to deploy, that's when the Synchro App Builder can help (or we can help manually in the interim)."

Dickinson also clarified the company's technology approach, which the company said was inspired by modern data binding techniques and the Model-View-ViewModel (MVVM) design pattern, which separates presentation from logic, with views providing the UI, models providing the back-end data and ViewModels providing the connections between the two. Thus MVVM is well suited for the Synchro approach in which there's a strong separation between the client view and the client application logic.

"The Synchro apps that developers write contain views which describe what is on a given screen/page," Dickinson said. "When that view is presented to the mobile client, our client code builds an appropriate native client interface (using native themes, controls, etc). We don't render in a WebView (we do have a WebView control that you can use if your app wants to render Web content, but our app interface itself is native and not replying on a WebView). The views are usually platform agnostic, but you can get use platform-specific controls and advanced filtering if you want to really polish the app for a given platform."

The Redmond, Wash.-based Synchro Labs was founded last year, with only Dickinson and Blake Ramsdell being listed on the company's About Us page. According to the company's pricing page, besides the free developer edition available to single developers, other plans range from $99 per month to $999 per month for unlimited usage.

About the Author

David Ramel is an editor and writer for Converge360.