Frequently Answered Questions

Beyond simply packaging a static web site into a mobile app, a mobile app can navigate your responsive site or deeply integrate your sites powered by a webservice (REST Api).

There are two main strategies to develop a mobile app:

  • JoomGap Slim App: If your website has a mobile-friendly design, an app can work as a simple gateway to navigate the content, with the additional benefit of direct design and content integration. This is a short project, depending on your mobile requirements, ideal for a news site. This approach relies heavily on the template and the installed extensions. All extension must be ready for mobile traffic.
  • JoomGap SDK - Mobile API: A mobile app has its own optimized user interface and information will be communicated via an API. It requires an integration API between Joomla! and the app. JoomGap SDK library provides a secure communication layer to your site. Since Joomla! does not currently have a general webservice implementation, all projects must include the development of a REST API.

A JoomGap SlimApp is a hybrid mobile application created to leverage the investment of an existing website. For more information about JoomGap Slim Apps.

Following the previous answer, there are two ways to develop a mobile app for a CMS:

  • JoomGap Slim App: In the simplest case, a mobile application can open a browser window to a website. Thus, a slim mobile app can visit a defined page in your site. The application will allow to access all extension installed in the CMS. In the examples shown below, a demo apps is visiting the download page of specific sample sitee. The navigation of the site is respected, and the user can log in to access restricted areas. The mobile landing page must have a responsive and mobile-friendly design; it can be the general home page or a specific page for mobile navigation.

JoomGap Slim App - Downloads

Even in this simplified model, features like Push Notifications or media management are available to fulfil project requirements.

  • JoomGap SDK - Mobile API: At this time, there is no general API to connect a mobile application with Joomla extensions. So, a mobile appplication must implement a custom API to integrate the required functionalities.

Following the previous answer, there are two ways to develop a mobile app for a CMS:

  • JoomGap Slim App: a Slim App can navigate your site and JomSocial. JomSocial 4.2 comes with an improved interface for mobile devices. In consequence, a Slim App for JomSocial is feasible. Additionally, the ecosystem of Joomla! extensions is improving and there are recent versions from major vendors with improved mobile support. In our experience, this is the list of mobile-ready extensions: JReviews, PayPlans, EasySocial, EasyBlog, EasyDiscuss and SobiPro.

  • JoomGap SDK - Mobile API: At this time, there is no JomSocial webservice to provide a REST API for a mobile application. In consequence, we recommend to integrate JomSocial with a JoomGap Slim App.

JoomGap SDK is a development framework to create web-enabled mobile Apps for Joomla! CMS. It is an opinionated implementation, powered by PhoneGap, AngularJS and Ionic Framework.

JoomGap is aimed to introduce and simplify mobile app developed for Joomla! CMS.

JoomGap is backed by Extly Extensions. We are a well-known Joomla! extensions factory, working on this field since 2007. In our vision, web-enabled mobile apps are ready for prime time, powered by mature technologies and headed by innovation.

Nowadays, there are several emerging technologies to create web-based mobile apps, hybrid apps based on open web technologies. A web-based mobile SDK allows to build mobile apps with the web stack, using "the most widely used and known technology stack in the world" and "releasing to all major platforms on day one". On the other hand, Joomla! is our most loved technology to create web experiences. JoomGap is here to make a jump and close the mobile gap to create a unified web development environment for Joomla! CMS.

To be 100% clear, in our vision, all Joomla! sites must have a mobile app to extend the desktop experience to mobile devices. Responsive design creates a mobile-friendly site and mobile apps extend user experience, beyond the browser, at device level.

JoomGap SDK is an open source SDK for developing hybrid mobile apps for Joomla! CMS, based on web technology. It is a development library, then it requires knowledge to create extensions and solutions for Joomla!, namely PHP, Javascript, CSS, HTML and HTTP.

In our roadmap, we aim to provide a high-level solution to support the most popular business cases. At this time, JoomGap SDK and the associated sample apps are the first stage in this long-term development strategy.

We currently provide Android and iOS support. In a second stage, we plan to have Windows Phone support (according to customer feedback).

JoomGap SDK is based on PhoneGap, AngularJS and Ionic Framework. Thus, in theory, JoomGap framework is also compatible with Windows Phone. However, we are not currently testing on this platform.

Concerning to adhering to Joomla ACL, users access Joomla! features from an external client (the mobile app) via an API, then users are not authenticated locally with regular login form.

Joomla ACL is mainly oriented to manage features access according to the website authenticated user. In this case, the user is not logged in in the website and external operations are based on the integrated API and its support of ACL controls. The relation between the authenticated user and Joomla ACLis managed by the API and it is specific for each implementation.

A mobile app, based on PhoneGap, is a native client accessing your site. As a consequence, it is not limited by Cross-origin restrictions.

On the other hand, your development browser is restricted as usual. Then, a solution for cross-development is desired. JoomGap SDK supports JSONP protocol to ease the development in a desktop setup and support all possible use cases. More about CORS: Joomla and Cross-Origin Resource Sharing (CORS)

Concerning to JSONP: please, take into account that JSONP API has a different security profile than a standard JSON API. For more information: Security risks with JSONP?

Finally, there are other ways to enable external client access, but they require ad-hoc htaccess configuration and browser compatibility checks to disable security measures for each specific client.