New in Appery.io: New Ionic Components and Templates, New API Express Components, and Server Code Plug-ins and Snippets

The Appery.io team is starting 2016 with new and exciting updates and improvements to the platform!

App Builder enhancements

The latest Appery.io update brings some cool features to the visual App Builder.

New Ionic components

Two new UI components for Ionic were just released: Card and Text.

The Card can be used to visually separate information on a page. It allows for more control and flexibility, and can even be animated. This new component is based on Google’s Card UI design.

The Text component can be used to conveniently place any custom text or AngularJS expression (wrapped with {{...}}) on the page.

The Ionic Button has obtained new property – Icon Only. It makes a button look like an icon. This property converts a button to an icon by changing Icon Style and Style properties, and ignoring the Text property.

It’s now possible to copy and clone components in the App Builder. To create a full copy of a UI component with all nested children, (including other components), click the clone icon on the top right of the component:

clone_example

Cloning a component

Ionic page templates

When creating a new page in Ionic, you can choose a blank page or a page with ionContent. The blank page is a simple page without any extra components. Use it when you don’t need to make any special adjustments to the scroll or scrollbar settings. The page with ionContent is a multi-tool page with a ion-content directive and many settings provided by Ionic. Use it when you need to make flexible adjustments to page scroll behavior.

You can find more detailed templates description in our docs.

Read the rest of this entry »

How to Expose an Existing SOAP Service as a REST API

Screen Shot 2016-01-11 at 4.04.07 PM

API Express visual editor

Appery.io API Express make it fast and simple to connect to an enterprise data source and expose it via a REST API. With API Express you can quickly create an API for:

  • A relational database
  • A WSDL service (SOAP)
  • An existing REST API

In this tutorial, I’m going to show how to expose an existing WSDL service as a REST API and then build a mobile app using the API.

Read the rest of this entry »

Development Tip: How to Add Native Device Features in an AngularJS App with Cordova

native_features

When building AngularJS apps (with Ionic or Bootstrap frameworks) using Appery.io, you can easily extend app functionality by adding native device features. Features such as push, geolocation, camera, etc., can be added by importing the appropriate plug-ins. To do this, go to CREATE NEW > From plug-in and select the appropriate plug-in. The native features come from the Cordova library, which is automatically installed in every app.

For each plug-in we have documentation as well as detailed tutorials on native device features. You can find the docs here.

Make sure to check out all of our mobile development tips.

Do you want to build apps fast? Start developing with our trial plan!

2016 Rolls In with More Webinars! More Learning!

An image of being "webinared"

Appery.io is the best mobile app development platform out there. Get the most out of it with our webinars. We’ve put together six so far to kick off the new year. The first two cover the most used frameworks on the platform. The next webinar delves into our service for making enterprise assets like SQL databases into REST services. Our last three webinars cover different backend services we offer on the platform that you can use in your apps. Register now and get ready for mobile enlightenment.
Read the rest of this entry »

Learn How to Create a User Registration Form with the Appery.io Database and Server Code

The Appery.io platform provides a cloud database for storing any app data. The database also has a built-in user management feature. This means, if your apps needs user login or user registration, this capability is available out-of-the-box.

Screen Shot 2015-12-31 at 12.56.22 PM

Appery.io database built-in user management

The Users collection has two default columns: username and password. In most cases you will also need to store additional users information such as email or address. One option is to create additional custom columns in the Users collection. Another option is to store any user information in a different database collection and then link the Users collection to that collection. In this blog post I’m going to show you how use a separate collection to store user information and how use the Pointer column type to link the two collections.

Read the rest of this entry »

Development Tip: Custom Icon for Push Notifications

One way to customize your app is to use a custom push notification icon. By the default, the push notification icon is your app icon.

Setting a custom icon for incoming push notifications is available only for Android OS and only for version 3 libraries (jQuery Mobile).

To set a custom push notification image:

  1. Upload your custom image (for example: icon.png) into the ANDROID/project_name/res/drawable/ folder to set it as a push image. If there is no drawable folder, simply create it:
    icon
  2. On the Source tab, open the WEB_RESOURCES > app > startScreen.js file.
  3. Find the PushNotification.init function and add an icon property with 'icon' value:
    code
  4. Now your app has a custom push notification icon!

Read more about Appery.io push notifications in our documentation and make sure to check out all of our mobile development tips.

Do you want to build apps fast? Start developing with our trial plan!

More flexible ways to distribute your apps, securely

This is guest post from our partner Apperian, by Tiffany Early, Managing Editor, The MAM® Blog

As an enterprise app developer, do you struggle with distribution of your apps for either usability testing or final delivery? How do your customers then get apps to their end users?

Security Risks with Public App Stores

The public app stores – iTunes, Google Play – just don’t work for distributing enterprise apps, since your apps can get lost in the millions of consumer apps, be confused with public versions, or be exposed to major security risks.

Headaches of Self-Hosting

Self-hosting and emailing direct download links, portals, shared drives, FTPs, etc. are difficult to maintain and increase your administrative overhead. You have to build security measures into the app before it’s compiled, and there’s no support for the ongoing application lifecycle management of onboarding, inspecting, securing, signing, and deploying mobile apps.

5 New Ways to Securely Distribute Enterprise Apps

Using a mobile application management platform for app lifecycle management and security, you onboard, sign, and wrap your apps with security, analytic, and other management policies. These policy-enabled “managed apps” are then ready to be distributed to your customers in a variety of ways, without requiring access to or control of their devices.

 

ApperianImage

Read the rest of this entry »

How to Send and Read Data from a Push Notification Message

In this post, we’ll show you how to open a URL received in a push notification message for both jQuery Mobile and AngularJS apps.

This tutorial assumes you are familiar with how to send and retrieve push notifications. If you are not, this tutorial will show how to send your first push notification message.

Let’s start with a jQuery Mobile app.

To open a URL when a push notification message is received, use the Load page event and add the following JavaScript code:

$(document).on("push-notification", function(event, data) {
   window.open(data.message, "_blank");
});

This is how the event looks in the App Builder:

Screenshot_4

Code to read Push Notification message and navigate to a URL

Read the rest of this entry »

Learn How to Create and Install Plug-ins to Build Your Mobile App Faster

In this webinar recording you will learn how to use plug-ins to make mobile app development faster. The webinar covers:

  • Running and testing an existing app that uses Server Code to invoke the Uber Products API.
  • How to export the entire app as a plug-in
  • How to select particular pages or services to export as a plug-in
  • How to export the entire app as an app template plug-in
  • How to manage existing plug-ins
  • How to import a plug-in into your app
  • How to create a new app based on a template plug-in

It’s all in this 30-minute YouTube recording!

And, we have many other videos on how to build apps fast on our YouTube channel. Start building apps fast now.

Happy New Year!

Appery.io Under the Hood Part 1: RequireJS and AngularJS

In the “Appery.io under the Hood” series, we’ll be explaining in detail how Appery.io works. We hope that this information will give you a deeper insight into how to make better apps by giving you a deeper understanding of the platform.

Loading resources when needed

When developing big scalable web apps, the question of how to manage tons of libraries and services arises pretty quickly. There are a few key reason why a powerful and flexible dependency management tool becomes mandatory:

  • The vast majority of libraries dictate their own requirements for dependencies. This makes it critically important to load and launch resources in the appropriate order
  • Loading all the libraries and other resources at once increases network traffic and should be avoided when possible. This is even more important for mobile apps
  • App loading time can be significantly decreased when loading only the required libraries:
    • A ready event will be fired only once for all the required resources
    • For mobile devices and apps, page size can be optimized as much as possible to prevent browser or OS failures
    • Overloading the device CPU by loading unnecessary libraries will decrease battery life
  • The bigger the development team, the more complicated library dependency management becomes

This is why Appery.io has chosen RequireJS to solve the cumbersome process of dependency management. Let’s see how RequireJS is used in Appery.io apps.

RequireJS

RequireJS implements an AMD (Asynchronous Module Definition) approach and allows the declarative description of dependencies among app modules. RequireJS also guarantees that all module dependencies will be resolved before module execution. In the AMD pattern means each module has its own isolated variables area. This makes your app more stable by reducing the possibility of namespace conflicts. 

Read the rest of this entry »