APaaS or Application-Platform-As-A-Service is a service that allows developers to write, deploy and consume software apps over the network without having anything physically located on their own machine.

As internet reaches the remotest of locations in the globe, more and more people will gain access to various application platforms to leverage them. You can build your own shopping cart app for the local store you manage or have a more complex CRM built with drag and drop (No special skills needed). Drag, Drop and Deploy (the 3Ds of aPaaS based app development). You could be up and running by the afternoon break. How cool is that?

Now, you may ask – how is this simplicity possible or is it at all? My answer would be, yes it is and it is for real. Enterprises and consumer web companies are eagerly looking to reach you – the user or buyer. They are putting millions of dollars to build platforms that will connect you to them through APIs, aPaaS platform(s) and web portals. They are bringing in “the” user experience through mobile or desktop clients for you to savor. While their campaigns might not always indicate so, they are going after your $$ big time.

Now, for some serious stuff. Why is aPaaS hot? Because enterprises and consumer companies alike want you to be their constant companion. Whether you are tracking your marketing campaign or building an employee portal for your company, you can use an aPaaS platform to build the right recipe/app for your business. What’s more is the fact that you can talk (I don’t like the word integrate – it is archaic) to any open app and use it to build  your own service on top.

Some might wonder – is it a fad that will get over in a few years? – Yes and No. Yes, because competition and significantly better features would narrow down the players who can still stand on their own two feet. No, because things in enterprise IT and consumer web are going to get easier over time, not harder. So, you will do more and more complex things, easily and without stepping out of your desk.

That was philosophy. Let us talk money. Technology over a period of time transitions from being innovation to being a commodity. New technologies emerge to make things simpler and cheaper. Why would you setup a $30m data center for hosting apps (and data) built by your startup ? You wouldn’t and shouldn’t. Market players like Amazon, Google, and Rackspace provide you the necessary foundation of running your business on machines they manage and manage well. Then there are leaders like Heroku (www.heroku.com) and Cloud Foundry that provide you the platform sauce to build your services. You name a service and they can provision it for you in no time. That leaves you with the job of building apps and that is the task where aPaaS providers fit right in. There are many such players already. However, they are in a nascent to early stage building their portfolio to offer the wide range of potential users – from the enterprise to the software developer like you and me. So, keep looking. Who knows? The CRM someone built in 3 years earlier might be doable in 3 months or less for you. Go and build that business.

Couple of leading aPaaS providers include Wavemaker, Rollbase and Longjump besides Force.com. Now is the “minute” or the “hour” to build that app you have been waiting for.

It is very common to see developers build large server applications running on Linux/Unix variants in different programming languages like Java, C++ or C besides a list of powerful scripting languages.

Funnily enough, it is equally common to see developers not being familiar with the right toolset to troubleshoot application problems once these apps are running. In this article and later ones, we will go over a list of very powerful monitoring tools available on Linux and Unix variants and see how we can leverage them to find and resolve issues.

To start with, let us go over the list of some of these tools and if you find yourself not acquainted with some of them, you are not alone. Most developers don’t know more than 5 from this list. The list orders the tools from the most familiar to the least.

ps
/proc
top
strace
vmstat
iostat
mpstat
free
traceroute
lsof
pmap
netstat
nmap
sar
tcpdump
ntop
htop
ngrep
acct
ss

If you know/use more than 5 of these tools regularly, I owe you a coffee and detailed explanations of the remaining ones.

In subsequent articles, we will go over each one of the above tools in detail.

Now that we are done developing a simple mobile app using Appery.io’s mobile app development platform, it is time to test the app. Here is a recap of what we did. We created two screens for our app, one for registering a user or logging in and another for adding products to the inventory of a user and listing them too.

1. To get started, click on the Test menu option inside the app builder.

 

2. The mobile app is launched in the test browser. Choose the resolution, enter a valid username and password to connect to the mobile app.

 

3. On successful login, you will be directed to the “Products” page as shown in the screenshot below. Enter a new product “Item1” in the input and click “ADD“.

The newly added product is added for this user and displayed on the Products page. Similarly, you can test the register user flow as well.

Deploying a mobile app to Heroku

The Appery.io mobile app development platform provides you two options to host/deploy your mobile app:

1. Appery.io hosting – You app will be deployed to the Appery.io servers with options to use either an appery.io or custom domain name.

2. Heroku hosting – You app will be deployed on the Heroku cloud environment.

In this section, we look at the steps required to deploy the mobile app to the Heroku platform.

1. Login to your appery.io account (http://appery.io)by entering valid credentials.

2. Since we have already developed the “herokumobileapp”, navigate to the “Hosting” section for this app as shown below in the screenshot.

 

3. Click on “Heroku hosting” option and sign in to your Heroku account.

5. A list of existing Heroku apps available in your account will be displayed.

 

6. Click on “Add Heroku app” and enter a new app name of choice.

 

7. Your mobile app will be deployed/published to the Heroku environment with the URL http://appname.herokuapp.com/startpage. “startpage” is the page configured in appery.io app builder to contain the first page of the app.

 

8. The startpage of your app is now available to use in the browser. As per the mobile app we developed, enter the user credentials to login to your mobile app service.

 

9. Step 9: As expected, the user is directed to the Products page of the mobile app.

 

You can add or supercharge this application with additional features at the click of a button. Such is the beauty of the platform that you hardly need to write any code. That ends this series of blogs related to mobile app development on appery.io. There are some great videos on appery.io site. Go check them out!!!

For our basic mobile app, we need to store application data for two entities –

· Application users

· Product information

In the following steps, we demonstrate how to create a simple database and add the required tables to our application.

1. Click on the Databases tab in the available menu.

2. Click on the Create new database link on the left section and enter the preferred database name e.g. MyFirstMobileAppDB as shown in the screenshot below.

3. Now, you can see that there are two types of collections (Appery.io’s term for database tables) in the left section of the database page. These are Predefined collections (defined by default by appery.io) and Collections (defined by database designer/developer).

Predefined collections:

The following collections (tables) are predefined by appery.io for use by the mobile app:

o Users – consists of the application user information.

o Files – consists of information about files used in the mobile app. Files can be uploaded using a File Browser option.

o Devices – The Devices collection displays devices with installed apps connected to this database.

You can add custom columns to the Users and Devices data predefined collection.

Custom collections:

The custom collections are tables defined by the database designer for use by the mobile app. You can add custom columns to these collections. Appery.io adds the acl, id, created and updated columns automatically even for the custom collections (tables).

Click on Create new collection to create the collection/table to store products data. We will reuse the predefined Users collection to store user information for the mobile app.

4. Enter the new custom collection/table name e.g. catalogitems and click "ADD".

5. Enter the desired column names for the collection to complete the creation of collections required for this simple mobile app.

6. The following screenshots show the two collections to be used for the mobile app – the catalogitems collection (user defined) and the Users collection (defined by appery.io).

User collection

Creating services for the mobile app

Let us create some simple backend services for our mobile app now. These services will be used by our mobile app to execute certain actions when an event takes place e.g. click of a signin button.

To create the services, we will use the Appery.io app builder.

1. In the app builder, click on Create New | Database services option in the Project Explorer section on left.

2. Select the database for importing services, followed by the database services and collection services to import as shown in the screenshot below and click Import selected services.

3. The selected services are created with just the click of a button and displayed in the Services link of the Project Explorer as shown in the screenshot below.

You can optionally verify the request/response parameters of each of these services to make sure that they are as expected. You can achieve this by clicking on each service in the "Services" section of the "Project Explorer" and selecting the "request" and "response" tab on the right.

4. Now, let us add the data sources for each page of the mobile app to identify the services that will be called from each page of the mobile app. To begin with, click on the first page "startScreen" in the "Pages" section on the left in the "Project Explorer".

5. Click on the Data tab in the design window. Add the two data sources required for the startScreen page as shown in the screenshot below.

6. For each of the added services above, edit the mapping for request and response by clicking the Edit mapping link of the login service in the Data tab as shown in the screenshot below:

7. Create the appropriate mapping in the "request" and "response" tabs (of the login service) to reflect your input/output parameters for the requests made from the app and the responses received by the app from the server. The following screenshots show an example of mapping configuration for the login service. Repeat the same for the signup service as well.

Request mapping:

Response mapping:

8. In the Data | EVENTS tab, configure the actions associated with the successful and failed execution of each of the services created above. E.g. for the user login service, create two actions, one for the success case and one for the failure case as shown in the screenshot below:

Note how successful execution of the service navigates the user to the next page in the app flow.

9. Switch to the Design tab of the app builder for the startScreen page. We will now link the events like clicking of a button to the services created to handle those events. Again, click on the EVENTS tab.

10. Click on the "Add Event" link to create events for each of the buttons shown in the user interface of this page. The following screenshots show the events created for the buttons on this page.

The steps shown above for the startScreen page can be repeated for the other pages of the mobile app. That is left as an exercise to the user. This completes the illustration of how to create and link backend services to the events occurrng in your mobile app. We will test the app in the next blog.

Building a mobile app is quite straightforward using Appery.io’s feature rich app development platform.

1. To get started, create an appery.io account at http://appery.io and login using valid credentials.

2. Click on the Create new app link on the left section of your appery.io account page.

3. Enter the new app name e.g. herokumobile app and click Create.

4. Enter the name of the first/launch page of your mobile app and click Create page.

This creates the new appery.io app and points the user to the appery.io app builder to design the start page of the new mobile app.

Creating the user interface

Use the appery.io app builder to create the different user interface screens required for the mobile app. We entered startScreen as the starting page of the mobile app. Now let us use the app builder to design the first page of our mobile app.

1. Use the Properties-Input on the right section to edit the labels and internal names of the user interface controls.

For example: Modify the Caption to My Mobile app.

2. Add input boxes for username and password fields for the registered user and new user sections of the user interface.

3. Add Sign in and Register buttons from the palette to the design area. Like before, use the Properties-Input on the right section to edit the labels and internal names of the buttons as required.

4. The following screenshot shows the completed user interface for the first page of our sample mobile app.

5. Click on the Create New link on the Project Explorer section located in the left. Choose Page.

6. Enter the name of the new page e.g. Products and click "Create Page".

7. The Products page is displayed in the appery.io app builder. Design the page as required using the steps above.

The user interface design of the pages required for our mobile app is now complete. In the follow up blog, we will learn how to setup the database and related services for the mobile app.

In the second part of this blog series, we learn how to get started with developing mobile apps using Appery.io’s flagship cloud based mobile app development platform. We will learn:

· What is Appery.io

· The mobile App Builder

· Creating your first Appery.io mobile app

· Creating the user interface for your mobile app

· Creating a database for your app

· Creating and leveraging REST services for your app

· Testing the mobile app

· Deploying the mobile app to Heroku

Introducing Appery.io

Appery.io is a cloud-based mobile app development platform. With Appery.io, you can build powerful mobile apps leveraging the easy to use drag and drop tools combined with the ability to use client side JavaScript to provide custom functionality. It enables you to create real world mobile apps using built-in support for backend data stores, push notifications, server code besides plugins to consume third-party REST APIs and help you integrate with a plethora of external services. Appery.io is an innovative and intuitive way to develop mobile apps for any device, be it iOS, Windows, or Android.

Appery.io takes enterprise level data integration to the next level by exposing your enterprise data to mobile apps in a secure and straightforward way. It uses Exadel’s (Appery.io’s parent company) RESTExpress API to enable sharing your enterprise data with mobile apps through a REST interface.

Appery.io’s mobile UI development framework provides a rich toolkit to design the UI using many types of visual components required for the mobile apps including Google maps , Vimeo, and Youtube integration. You can build really powerful mobile apps and deploy them effortlessly using drag-and-drop functionality inside the Appery.io app builder.

What is of particular interest to Heroku developers is Appery.io’s integration with mobile backend services with option to deploy on the Heroku platform with the click of a button. This is a powerful feature where in you do not need to install any software on your local machine and can build and deploy real world mobile apps on cloud-based platforms like Appery.io and Heroku respectively.

Getting Appery.io

The cool thing about Appery.io is that it is a cloud based mobile app development toolkit and can be accessed from any popular web browser. To get started, create an account at http://appery.io and you are all set.

You can sign up for a basic starter version which provides the ability to develop 1 app per account and go all the way up to the paid Premium (40 app per account, 15m API calls, 15GB disk space, 15m pushes and priority support) and Enterprise grade subscriptions.

Introducing the Appery.io App Builder

The app builder is a cloud-based app editor that can be used to build mobile apps for any platform. The Appery.io app builder consists of intuitive tooling and a rich control panel to help developers drag and drop controls on to the mocked device and design robust mobile apps. The app builder has the following sections:

1. Device layout section – This section contains the mock layout of the device onto which the developer can drag and drop visual controls to create a user interface.

2. Palette – Contains a rich list of visual controls like buttons, text boxes, Google map controls and more that developers can use to build the user experience.

3. "Project" explorer – This section consists of many things including project files, application level settings/configuration, available themes for the device, custom components, available CSS and JavaScript code, templates, pop-ups and one of the key elements – the available backend services.

4. Key menu options like "Save" and "Test" for the app being designed.

5. Page properties – This section consists of the design level properties for the page being designed. Modifying these properties changes the user interface labels or the underlying properties of the page elements.

6. Events – This is another very important section of the app builder that contains the "event to action" association for the various elements of the page. E.g. it can contain the action to be taken when a click event happens on a button on this page.

The following Appery.io app builder screenshot highlights the various sections of the rich toolkit available for mobile app developers to build apps quickly.

​So, now that we have introduced the app builder, we will create an actual mobile app next. Watch out for this space.​

Mobile app development platforms provide the ability to build native, web and hybrid mobile apps quickly. There are several feature rich and popular mobile app development tool kits available in the market today. Some of them worth trying are:

· Appery (http://appery.io)

· AppBuilder (http://www.telerik.com/appbuilder)

· Phonegap (http://phonegap.com/)

· Appmachine (http://www.appmachine.com/)

· AppMakr (http://www.appmakr.com/)

· Codiqa (https://codiqa.com)

· Conduit (http://mobile.conduit.com/)

· Apache Cordova (http://cordova.apache.org/)

The list above is only a partial list. In this blog series, we will look at one of these mobile app dev platforms called appery.io and learn how to build a fairly simple but feature rich mobile app. We will use Heroku (www.heroku.com) to deploy this mobile app. The Heroku platform integrates with the Appery.io (http://appery.io) mobile app development platform to provide a seamless app development experience.

With the Appery.io mobile app development platform, the process of developing a mobile app is very straightforward. You build the user interface (UI) of your app using drag and drop from an available palette. The palette contains a rich set of user interface controls. Create the navigation flow between the different screens of the app, link the actions to be taken when certain events like clicking a button happen and voila you are done. You save the app and test it there and then using the Test menu option. Once you are done with testing the app, you can host the app using Appery’s own hosting service or the Heroku hosting service. Mobile app development was never this easy.

In the following sections, we will perform each of these steps and develop a feature rich mobile app.

Follow

Get every new post delivered to your Inbox.