blog, Mobile

Move To Ionic From jQuery Mobile

Two years ago I started a project that would increase my stress level, challenge my coding abilities and give me migraines.  This was the starting point of my foray into hybrid mobile app development.

When I started with mobile app development I figured that being a web developer for about 20 years that using Apache Cordova with jQuery Mobile should be a piece of cake.  I was wrong . . . way wrong.  Even with these technologies/frameworks mobile is a total pain in the ass.

About one year into using jQuery Mobile it appeared that the platform was not being updated and I wanted to re-write the application using Ionic.  I probably should have starting converting it at that point.  But like most developers the company I was working for wanted more features added faster than they could be programmed and properly tested.  So at this point the best idea seamed to be starting to learn Angular and get prepared for the eventual move to Ionic.  About 9 months ago the deep dive into Angular and TypeScript began.  This deep dive started slowly because there really was no hurry.

As the weeks went by there were no additions to jQuery Mobile and time was proving it to be a dead platform. (At the time of this post there have not been any updates for 2 years and no major updates for about 3 years.)  Then when implementing a new feature into the app I realized that there was a memory leak in the program.  The memory leak was a major problem that made it impossible to incorporate a feature that was essential for the app.  Everything I tried to do to fix this memory leak did not work.  A fix was possible with a newer version of jQuery but the jQuery Mobile framework will not run with the newer jQuery.  I was now forced to make the move.

The move from jQuery Mobile to Ionic has been a challenge.  I saw another app that had moved to the platform and simply put an Ionic wrapper on their javascript.  I didn’t want to do this.  I wanted to use the Ionic framework as it should be used and not just throw a bunch of potentially bad javascript code into the application.

Another issue in getting up and running with Ionic was the lack of quality YouTube resources and especially ones that are in decent English.  The best resources I found were by Paul Halliday, Mosh Hamedani and Maximilian Schwarzmüller.

The learning curve for TypeScript, Angular and Ionic is steep, which is why it has taken me a while to get started with the rewrite.  Online resources are great but it would be helpful to find a mentor to help with some of the walls I run into with this new framework.  Oh well, time to get back to work.