Ionic Team: Give them a Break

posted in: Uncategorized | 2

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:

  1. Ionic 1.0 is not being maintained, is getting out of date, or is unstable with bugs
  2. 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.
  3. The Ionic team is spending lots of time of ionic.io, their paid services, and not enough time on the core framework itself
  4. Ionic is no longer the new, hip kid on the block and is being compared to native script, react native, etc.

Ionic 1.0

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

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.

Ionic.io

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.

Bleeding Edge

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.

Conclusion

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.

My name is Andrew McGivery. I currently work full time as an application developer at Manulife Financial in Canada.

2 Responses

  1. Hey Andrew. We really appreciate the support, seriously! It’s people like you that make this community awesome. Thanks so much for reassuring us that we’re on the right track.

    It’s been a really fun and stressful two years since the first launch. We’ve been pretty overwhelmed with the response to Ionic, and I would be the first to admit it’s been challenging making sure we can live up to that and also keep as many people happy as possible. We’ve made a ton of mistakes, and we will continue to. I know we’re getting better at it though, it’s just been a major learning process.

    First, for v1, we are actually doing a pretty sizable release with 1.2 in the next week or two. Over 100 issues have been closed, 20+ PRs tested and merged, a few new features added (like helping debug plugin and cordova issues, along with Windows Edge support), and pretty major scroll performance improvements out of the box with our move to native scrolling by default. We’re also starting the process of helping transition people to the future of Ionic, starting with bringing some parity to our form input items (still lots more to do here). We want the upgrade process to be as easy as possible, and I think people will find it a lot less scary than it seems (especially since we “hide” a good amount of angular2 through our abstractions, so most of it feels like Ionic).

    Remind me: I need to write a post about the transition and walk people through it. It’s really pretty benign, especially at the view layer.

    Beyond that, you’re totally right, Ionic needs to be successful as a business in order for everything around it to be well supported and continue to be awesome for years to come. We are moving in the right direction with that, but definitely put (too much?) time on some of those pursuits this year than working on v1 and I take full responsibility for that.

    Going forward, the space is definitely getting heated, which is exciting even when it feels like things are changing every second. I love that it’s becoming way more legitimate to build apps outside of the core “blessed” SDKs, and I’m proud that Ionic is pretty much the only major option out there based on the standard browser stack and open web. I want to make sure this great platform we’ve all been using for decades isn’t just second class in this new mobile world, but dominates like it does on desktop.

    We felt like we had to build v2 because we couldn’t really make this dream happen and adapt to future changes as easily without some deeper structural changes and improvements. Looking back, the move to TypeScript and ng2, the complexity and immaturity of the build chain (which has improved exponentially in the last few months even), and our desire to fix a lot of systemic issues in v1 that were holding us back definitely slowed us down this year but we’ve started to address that.

    Anyways, the big dream here of making the web developer the most useful and valuable developer is going to take work and support, so we are really thankful to have people like you helping out 🙂

  2. Great post Andy. Totally agree. How quickly we expect free open source projects to be perfect. The release of Ionic 1.2 shows that the team is taking 1.0 seriously. And it is obvious the team is already thinking about the transition to 2.0 with minor code changes the reflect 2.0 thinking. The reality is that even if the delicate transition is done well, it will be a difficult process, but that is mostly because of Angular 2.0, which i’m sure was given much thought before the big changes that will be coming. Browsing through the Ionic 2.0 docs, I”m excited to see whats coming!

Leave a Reply