Josh Morony

Advanced Forms in Ionic

Username Availability with an Asynchronous Validator in Angular

A little while ago I released an article named Advanced Forms & Validation in Ionic where we discussed the concept of using Validators that Angular provides for validating form fields. These validators come in two flavours: synchronous and asynchronous. Synchronous validators can be used to perform simple synchronous checks like whether a field is empty, […]

Testing Ionic

The Role of End-To-End (E2E) Tests in Ionic

End-To-End (E2E) testing involves creating automated tests that will test your application as a whole, rather than testing individual chunks of code in isolation (which is the purpose of a unit test). In this video tutorial, I walk through a real-world application that has some e2e tests implemented and discuss the purpose and value of […]

Testing Ionic

The Role of Unit Tests in Ionic

Unit testing is an intimidating task to get started with, and with no prior knowledge of creating automated tests, it can be hard to understand the how and why of unit testing. In this video, I walk through some unit tests I have set up for a real-world application I am working on, and we […]

Accordion in Ionic

Creating an Accordion List in Ionic

Earlier this week I recorded a video where I walked through building an expandable component on screen. This was a generic component that could be given a specific height, and its state could be toggled between being expanded and collapsed. Due to a dwindling battery, I didn’t get to take the component quite as far […]

Expandable Component

Live Coding an Expandable Component in Ionic

I’ve been releasing a series of videos where I walk through building something on screen, with only a vague idea of what I want to build and no planning in advanced. The idea is that it gives a more realistic representation of what the actual development process looks like, rather than having everything pre-planned, working, […]

Testing Ionic

Setting Up Unit and E2E Tests in Ionic

I’ve written many tutorials on adding automated tests to Ionic applications, but one of the trickiest parts of the whole process is just getting the testing environment configured. If you want to set up unit and end-to-end tests you will need to install Jasmine, Karma, Protractor, and an array of other packages that need to […]

Video Background in Ionic

Designing a Landing Page with a Video Background in Ionic

The initial impression of your application on a user comes from the application’s icon, the splash screen, and then the initial page of the application. Much like judging a book by its cover, by the time the user reaches the landing page for your application they will likely have already formed some strong opinions about […]

Dynamic Backgrounds

Animating a Dynamic Background with an SVG in Ionic

Recently I’ve been writing some content and filming some videos on SVGs (Scalable Vector Graphics), mainly because they are freakin’ cool. The content I have been creating is mostly pretty introductory and in the case of animations I have just been using simple CSS transitions and keyframes, so I wanted to tackle a more real-world […]

Unit Testing in Ionic

Testing Asynchronous Code with FakeAsync in Angular

When creating automated unit tests in Ionic and Angular applications we would typically follow a process like this: Set up the testing environment Run some code Make assertions as to what should have happened This process is also commonly referred to as AAA (Arrange, Act, Assert). I don’t plan to provide an introduction to unit […]

[VIDEO] SVG Animations in Ionic

I recently wrote a blog post that introduced the concept of the SVG (Scalable Vector Graphic) format and how you might be able to use that in an Ionic application. You can read more about that here but the basic idea is that SVGs are vector graphics (so they can be scaled to any size […]

Pinterest grid

Creating a Pinterest Layout in Ionic

Ionic provides a useful Grid component that allows you to organise a layout using rows and columns. By default, if the columns contained within a row go beyond the width of the screen, they will flow automatically onto a new row. This makes it really easy to create a grid layout, like an image gallery, […]

Google AdMob

Integrating Google AdMob Advertisements in Ionic

Advertisements, although not always the best way to monetise a venture, are one of the easiest ways to potentially earn some money from an application or website. Google’s advertisement platform allows you to easily implement advertisements without having to secure deals with advertisers yourself – you display Google’s ads and you get a percentage of […]

Creating an Animated Splash Screen in Ionic

One question I often get asked is how one could create an animated splash screen for their Ionic applications – the bad news is it’s not possible to animate a splash screen (and that’s not just an Ionic thing, it’s not possible in general). A splash screen is a static PNG image with no transparency. […]

Using an SVG for Animation in Ionic

I’ve spent the last week reading through Sarah Drasner‘s new book SVG Animations, which has pretty much changed my line of thinking from SVGs seem pretty cool to… via GIPHY If you want a good introduction to SVGs you should go read her book, but in this tutorial, I’ll just be running through a basic […]

Splash Screens in Ionic

Using the Splash Screen Plugin with Ionic

The splash screen is the image that displays for a few seconds when your application first starts up on iOS and Android. Usually, we would be happy with the default behaviour (the splash screen will display until your application has finished loading, and then automatically disappear) but that’s not always the case. In this video […]

CSS Transitions

Simple Animations with CSS Transitions in Ionic

When used correctly, animations can do a great deal to make your application look more polished. There are a variety of ways you can add animations to an application, but one of the most simple ways is to use the transition CSS property. This property allows you to animate the change of CSS properties, like […]

Using Canvas in Ionic

Creating a Drawing Application in Ionic

Last week I released a two part screencast where I built a simple drawing application in Ionic live on screen. Since I’m just making things up as I go along in these style of videos, the end result usually works but is lacking in polish. As such, I like to do a follow-up blog post […]

Shrinking Header in Ionic

Creating a Shrinking Header for Segments in Ionic

I was browsing the Ionic Forums earlier this week, and came across a post asking if it was possible to create a layout in Ionic where a header would be initially displayed above a segment, that would shrink away as the user scrolled (leaving the segment selections now sitting at the top of the screen). […]

Viewing Cordova Source Code

Extracting the Source Code of any Cordova Application

A common misconception when building Cordova applications (which is what we use to create native packages when using frameworks like Ionic), is that the source code for those applications are secure because they are bundled into a single .ipa or .apk file. However, it is quite easy to download any Cordova application from the app […]