Using ionics development pipeline without angular.js


#1

Hello everyone!

My team and I are working to develop our first hybrid app. While I have a background in both moble-web, and app development. This will be the first time any of us have built a Cordova based application.

After trying a few frameworks, we settled on Ionic due to it taking less then 5 minutes to learn the basics and get building. ( awesome work on the CLI and docs XD )

The only issue is, our next application is quite complex; Involving lots of background loops, maps, feeds, and animations. While it is definitely achievable with Javascript, I have a high level of concern Angular just will not have the performance. (though I haven’t writing it off completely)

We just finished the test version of the core dom interaction modules for the project and will at-least be using them for high performance sections (Example jsperf if anyone is interested :: test works in chrome and yes iframe errors are expected with jsPerf)

Anyway, I was wondering how easy it is to use the ionic environment and build tools with partial or no angular.js?

Thanks!

  • Daniel


#2

Daniel,

I suggest perusing this article: http://blog.ionic.io/ionic-bonds-introducing-the-new-web-client/


#3

From reading this it seems to be just a web client. I don’t fully understand how this helps. Mind giving me a little context?


#4

The issue you will run into is that Ionic is built on top of Angular. It can’t do much without Angular.

That being said, you could use certain pieces like the icons and the styles without Angular, no problem. What you’ll be giving up is the directives and functionality such as transitions, side menu, tabs, etc.


#5

I am aware that ionics pre-build content is all in Angular. I don’t believe that would be of much concern as you can build elements outside of Angular without much issue. What I would like to know more about is if ionic’s CLI, build tools, and such play nice with non-fully Angular apps.

Basically I am looking to use ionic as a pre-build cordova platform with extra build tools.


#6

From what you say it sounds that you could benefit from using the Famo.us framework with your Ionic app.

Famo.us is a Javascript framework that bypasses the DOM and uses 3D transforms leveraging the GPU, so that it can achieve very fast (native-like) UI and animation performance.

Now interestingly it seems to be possible to integrate Ionic and Famo.us according to these links:


I don’t know your exact use cases but this might be the solution you would be looking for.


#7

Thanks leob!

While I plan on using our own modules for selection, manipulation and animation (see link above); The first article does cover the subject in a general enough way that I am pretty sure it will go smoothly.


#8

Okay cool …

So, I think the essence is that although Ionic is based on AngularJS, this doesn’t really pose any limitations.

Integration of AngularJS (and therefore Ionic) with other frameworks (Famo.us, React, jQuery) is well-documented.

For any case where AngularJS isn’t fast enough or in other ways doesn’t meet your requirements, you just create an AngularJS directive. Wthin the directive you can manipulate the DOM using any framework you want.

In the case of Angular and Famo.us, this integration has already been done, through the 'famous.angular" library (which contains a number of Angular directives that wrap Famo.us components).

For other libraries, the same kind of directives may already exist, or you create your own directives.