Create your Own Drag-and-Drop Functionality Using Ionic Gestures
In this tutorial, we will be building out two custom components in Ionic that enable us to drag and drop elements on the screen. We will be able to mark elements as “draggable” to enable the dragging...
View ArticleFreebie: Advanced Card Transition with the Ionic Animations API
As part of the lead up to the launch of my next book Advanced Animations and Interactions with Ionic I am releasing the source code for one of the advanced examples in the book for free. You can grab...
View ArticlePerformance Lessons from Writing a Book About Ionic Animations
I’ve recently finished writing a book about creating high performance animations and interactions with Ionic, which I put together over the course of around 3 months and ended up producing a chunky...
View ArticleHigh Performance Animated Accordion List in Ionic
A couple of years ago I published some tutorials on building an accordion style list in Ionic. The method covered in that tutorial works well enough, but in this tutorial I will be taking another look...
View ArticleUsing the CreateAnimation Wrapper Component in an Ionic/React Application
I’ve been working on a lot of animations with React and the Ionic Animations API as I create the React edition for Advanced Animations & Interactions with Ionic (which will be out sometime around...
View ArticleMigrating Cordova Plugins to Capacitor (Android)
Cordova has a huge ecosystem of existing plugins that have been created over the past decade. Capacitor has its own method for allowing developers to create plugins, for themselves or for the community...
View ArticleIs an Ionic Application Native?
I recently published a video that demonstrates why I think saying that Ionic applications are not native is inaccurate and confusing (even though it is perhaps the most common way to describe Ionic...
View ArticleUploading Files to a NestJS Backend
In a recent tutorial, we covered how to upload files from a frontend application using <input type="file"> to a simple Node/Express server. In this tutorial, we will be walking through how to use...
View ArticleHandling File Uploads in Ionic
Handling file uploads from a client side application (e.g. an Ionic application) to a backend server (e.g. Node/Express/NestJS) is quite different to using POST requests to send text data. It may look...
View ArticleAccessing Localhost Server From Ionic App Running on a Mobile Device...
Ever been in a situation where you want to test your Ionic application natively on an iOS or Android device, but the backend server/database you are testing against is a development server running over...
View ArticleUsing HTML File Input for Uploading Native iOS/Android Files
In the last tutorial, we covered how to handle file uploads in Ionic using the <input type="file"> element. This included using the file input element to grab a reference to a file and then...
View ArticleHow to Launch Native Views in an Ionic Application
If we are building an iOS/Android application with Ionic and Capacitor, then the primary native view that we are using inside of the native application created by Capacitor is a web view that loads our...
View ArticleDisplaying a Native List in Ionic
In the last article I published, How to Launch Native Views in an Ionic Application, I made a point about how it is awkward to use something like a native list in an Ionic application instead of the...
View ArticleUsing Shadow Parts to Style Protected Shadow DOM Components
I have a few articles and videos that help explain the purpose of Ionic’s usage of Shadow DOM for some of their components, and how we can work with this approach to style components the way we want....
View ArticleProtecting Against XSS (Cross Site Scripting) Exploits in Ionic (Angular)
In this article we are going to explore when Angular’s XSS security model will help protect your application from XSS JavaScript injection attacks, and when it won’t. It is important to note that...
View ArticleA Step-By-Step Process for Creating Professional Colour Schemes
In my earlier life, it was originally my ambition to become a graphic designer. I spent years playing around with Photoshop and eventually made a bit of money designing websites and logos for people....
View ArticleWhy XSS Attacks Are More Dangerous for Capacitor/Cordova Apps
I want to preface this article by saying that the vulnerability we will be discussing does not mean that a “hybrid” application built with Capacitor/Cordova is insecure. This vulnerability is also not...
View ArticleTest Driven Development with StencilJS: Creating a Time Tracking Ionic...
Test Driven Development (TDD) is a process for creating applications where the tests for the code are written before the code exists. The tests are what “drive” which functionality you implement. We...
View ArticleTest Driven Development with StencilJS: Refactoring to use Page Objects and...
In the previous tutorial in this series, we used a Test Driven Development approach to start building a time tracking application with Ionic and StencilJS.At this point, we have created 1 E2E test and...
View ArticleHow Immutable Data Can Make Your Ionic Apps Faster
If you are not already using immutable data concepts, you might have seen all the cool kids updating their arrays like this:public myArray:number[]=[1,2,3];ngOnInit(){this.myArray...
View Article