Is there plans for Ionic to be framework agnostic?


#1

So, for example I can choose Polymer or Aurelia as my framework for mobile development


#2

Yes there is plans, though it’s probably quite a way off


#3

I’d like to start creating ionic-aurelia version. I checked and I believe that mostly I will need to change components’ controllers (javascript files). Aurelia supports different binding syntaxes (e.g. Angular 1.x syntax, Knockout, etc). So, I believe it will be not so hard to create/find binding syntax for Angular2. So, there won’t be need to change templates at all!

Do you think this work can be integrated into Ionic project?


#4

If you want change Angular 2 framework to Aurelia, then don’t use ionic. What’s the point use ionic?
Phonegup/Cordova + Aurelia for you.


#5

I don’t know probably because there are components already created/tested/styled for 3 most popular mobile platforms =)


#6

Yep, there is. In a recent hangout (I believe it was Adam Bradley in an Angular Air episode in YouTube), they said that Ionic 2 was being built with this in mind: make the core completly independent of any framework, and then add bindings to Angular2.

They opened and then closed a position for React developer, so either they gave up on hiring someone or they hired someone. If that’s the case, I’d guess that it’s related to making Ionic2 framework agnostic and work with React.


#7

Just a thing on Polymer:

As far as I can see, Ionic2 and Polymer are not as incompatible as old posts in the forum suggest. Maybe Polymer and Ionic 1 are somehow different, but the whole basic idea of components is present on both tools.

And I see no big downside or problem in adding Polymer elements to an Ionic2 application. Of course one would use Ionic2 components over Polymer, but elements like platinum-sw looks very useful and usable in an Ionic2 application.

Any thougths?


#8

Found it: there’s an “Agnosticism Initiative” in the roadmap doc:

Agnosticism Initiative

1. Vanilla JS Core
2. ReactJS Bindings
3. Angular1 Bindings
4. WebWorkers
5. Serverside Rendering