To be frank, I regret choosing Ionic as my framework of choice and wish I had gone with Flutter instead. The documentation and community of Ionic is severely lacking, leaving me feeling lost and unsure of what to do next.
If I have to categorize the issues I’ve faced with Ionic, they would fall into three main categories: the website, the ecosystem and guides, and the limitations of the framework itself.
Spaghetti Documentation
A good documentation can help anyone new to a concept to quickly pick it up and start running (or dancing) with it. As a software developer with 10 years of experience, I am no stranger to documentation, but I have to say, the Ionic documentation takes it to another level.
Ionic markets itself as a single framework for writing and running mobile applications, but that’s not the truth. To be able to work with Ionic, you also need to read the Capacitor documentation. When I first wanted to publish my Android app, I suddenly realized that the information provided by Ionic documentation was incomplete. After digging around, I found that the missing information was located on the Capacitor page. This fragmentation of information bothered me on multiple occasions, and I will elaborate more on this later when I talk about the difference between using Google search vs the built-in website search.
Missing and Broken Links
I spent months on the Ionic website, and to be honest, it’s a pile of broken links. I miss the good old days when companies ran broken link checkers on their websites and checked their Google admin console to see which links were returning 404 errors. But the Ionic website doesn’t seem to use any of these tools, leaving you to rely on Google as your companion.
If you’re not familiar with Ionic, you should know that it previously ran on Cordova. A couple of years ago, the Ionic team introduced a competitor to Cordova called Capacitor. Cordova is well-known for its vast support of plugins, but after the introduction of Capacitor, the Ionic team tried to keep some level of compatibility. They introduced @awesome-cordova-plugin, a namespace that helps you type the Cordova plugin. The list of these Cordova plugins was on the Capacitor website, so as an Ionic developer, you had to switch to the Capacitor website to find a plugin that works with Ionic.
It’s quite a bizarre experience when you’re trying to write an Ionic app and, for example, you’re looking for how to use the camera. You find zero results on the domain ionicframework.com and your desired result is supposed to be on capacitorjs.com (they made it a little better so far, but still it’s lacking). This clearly shows that the Ionic documentation is not your friend and you need to rely on Medium articles for your day-to-day development until you become familiar with where to find the documentation related to the framework that you’re looking for on other domains.
Another recent development in this jungle of documentation happened when the Ionic team moved all the @awesome-cordova-plugin plugins to a Gitbook(like it aint my business anymore). This is not strange, but now you’re looking at something on another level. Amazingly, you find very limited wording about Ionic in that Gitbook (meaning Google has a hard time giving you the right result) and more strange, when it was hosted in capacitor website you could see guides on how to use it with Capacitor, but now that they moved it to Gitbook the code samples are removed. For example, you could see the plugin Social Sharing has a starter guide but that is no longer the case
Another issue with this transition is that Ionic leaves you with your Google skills and says “avi vederci” for the rest of your adventure. For example, this is the social sharing plugin’s documentation on the Gitbook, but try searching it with some keyword like “ionic social sharing” and good luck finding it.
another issue that recently has rised is to find these cordova plugins that has capacitor support.
As you can see in the above picture, the link with the amazing title “hundreds of existing Cordova plugins”? Yes, that’s a list of every Cordova plugin available on the internet, but that doesn’t mean it supports and works with Capacitor. It’s up to you to figure out if it works with Capacitor or not. There is no portal where Ionic developers can report support or see the telemetry that Capacitor could collects about compatibility of those plugins. They could even rate the plugins, but nah, that would make Ionic too simple to use. If not, why would you pay for enterprise support? At the end of the day, it’s all up to you to spend your time figuring it out. Compare just this flaw and the lo