Note: This post is a raw, passionate rant. It is not meant to be angry, distasteful, or negative. It is simply my observations and thoughts on some recent events.
Recently there has been a lot of grumbling in the community about the Ionic Framework. The general complaint seems to be in one of the following categories:
- Ionic 1.0 is not being maintained, is getting out of date, or is unstable with bugs
- Ionic 2.0 is getting a lot of attention and people are scared of investing time into 1.0 and then having to rewrite their app from scratch to 2.0.
- The Ionic team is spending lots of time of ionic.io, their paid services, and not enough time on the core framework itself
- Ionic is no longer the new, hip kid on the block and is being compared to native script, react native, etc.
While it is fair to have some concern around the future of Ionic 1.0, it has been stated many, many times that 1.0 is NOT being abandoned. There is still plenty of support around the framework and a large, friendly community.
Are there currently some issues with 1.0 that haven’t been addressed? Sure. At the time of writing, 294 issues open on GitHub. How about react native? 855 open at the time of writing. Ionic has been around for a far longer amount of time, not to mention React Native has FACEBOOK behind it. Think about that for a second. Now think about it for a few more.
Bugs and issues are a reality of software development. It is nearly impossible to create software that is perfect. The team has not abandoned 1.0. Instead, they have temporarily shifted focus to work on projects that will help to sustain the company and the framework years into the future. They have not forgotten about 1.0.
Ionic 2.0 is going through some of the same pains that Angular 2.0 has been going through since they are so tightly coupled. People are worried, scared even. The biggest fear by far is upgrading from 1.0 to 2.0. Will it be a complete rewrite? Will we all have to learn how to code apps from scratch?
I’m not going to go through all of this in detail because there has been plenty of others who have written on these subjects about Angular 2.0 that apply here, but I think there are a couple of points that are import to know and consider.
The Ionic team has stated that 1.0 will be supported into the future so even if you decide not to switch to 2.0 right away, you’ll be fine sticking to 1.0.
There WILL be a migration path. There are some very smart people at Google and in the community working on ways to make the migration between Angular 1.0 and 2.0 as smooth as possible. This will help with Ionic as well.
The same community that was around writing awesome tutorials and providing resources for 1.0 will still be around for 2.0. I am currently working on a series of Ionic 2.0 tutorials and getting amazing help from Brandy Carney (Go follow her!) from the Ionic team via peer review and editing for accuracy. This is helping to make them as helpful to the community as possible. Also, Joshua Morony has already begun releasing posts on his blog for Ionic 2.0. Also, in the same way I curate a list of Ionic 1.0 resources on my blog, I will also curate a list of Ionic 2.0 resources as they start to grow in number.
Many of the concepts you learn in 1.0 are directly transferable knowledge to 2.0. Almost every concept in 1.0 has a parallel concept in 2.0. While yes there is some new stuff and some different syntax, you will not be starting from scratch. It will not take you long to be comfortable with 2.0.
Open source is hard. Building a successful company around open source is even harder. We all need to remember that Ionic at the end of the day isn’t a normal open source project with people creating it as a hobby project. This is a real life company.
Companies NEED to make money to be successful and to survive. Ionic does NOT make any money off of the core framework. This is an important realization. There is a balance that needs to be found between maintaining the framework and making enough money to keep the company afloat. If Ionic doesn’t make any money, they can’t pay their developers. No developers, no framework.
It is also important to note that there is a huge amount of interest from the community and many companies around these service. These are services that help make apps better, give insights into apps, and maybe even help the makers of the apps make money.
I’ve always been slightly annoyed with the web dev community as a whole when it comes to our frameworks and tooling. It seems like every day a new framework or tool comes out and there is a large portion of vocal individuals who suddenly say “That framework is so last year”.
I think the community as a whole needs to get a hold of themselves and get a reality check. Powerful, useful tools last a long time. If you go to a typical, large company, you will find technologies that are still being used from the 1980’s. This will make some of you shiver, but this is reality. These tools are ancient relics at this point in time, but they do their job and there are very large companies making billions of dollars off of them.
Keeping that in mind. Ionic is a very, very young framework. It’s been out in the public for just over 2 years. Hell, modern mobile development is still a baby. This is a very young and growing industry and just because something new comes out doesn’t mean everything we had before suddenly doesn’t work or is bad. Quite the opposite. I would argue things that are out for longer have more maturity and their quirks are well known.
Am I saying new is bad? Of course not. Ionic 2.0 is bleeding edge and I am all over it. All I am saying is every new thing that comes out doesn’t deprecate everything we already have.
I am calling on everyone in the Ionic community to continue to support the Ionic team and each other. Let us be understanding and patient. Let us continue to be the best that we can be as developers and as people.