How to setup your Ionic project with automated Continuous Integration and Deployment with Gitlab CI

8 Jan 2019

How useful would it be to have all your unit and end-to-end integration test run every time you commit your code? For those times you didn’t think it was necassary for the change, or just simply forgot to before pushing the commit. A automated continuous integration build system has been a cornerstone of good software development practices, even before DevOps came on the scene. Here I’m going to show you how to setup your own continuous integration and deployment pipeline using the GitLab CI service for your Ionic project.

Read more

Launch your Ionic development in 2019 with Lattice

22 Nov 2018

If you’ve built a production Ionic app from scratch you’ll know all too well the significant amount of software engineering time that goes into integrating all the libraries, SDK’s, plugins, services, build processes etc to produce a functioning app. And then never ending ongoing work keeping the dependencies up to date. When new versions of For the last few years we’ve offered a complete Ionic & App Engine starter project focused on social apps.

Read more

Cloneder news and updates

21 Nov 2018

Keeping an app update to date with the latest versions of the libraries, framework, modules, SDK, plugins and OS platforms is a lot of work. It’s very rarely as simple as updating the dependency. For components, such as Ionic, Cordova or iOS and Android major versions its quite unlikely the app will no longer build. Ideally the breakage happens at build time, and not later at runtime which requires a proper round of testing to notice the issue.

Read more

How we easily added real-time updates to our existing app using Firebase

19 Apr 2018

Users now days have high expectations of their experience when using apps, wanting notifications and updates as soon as relevant new content is available. If you’re building an app from scratch then solutions such as the Firebase real-time or Firestore databases provide real-time data sync straight out of the box. Or if you don’t mind managing your own database then there are other options such as RethinkDB. However bolting on on real-time updates to an existing app can be a difficult or large piece of work.

Read more

3 easy steps updating Ionic unit/e2e tests to use Chrome headless on GitLab CI

9 Jan 2018

One of the perks of using Ionic for both the mobile and web/PWA versions of the app is being able to use the Angular test tooling, and 3rd party libraries such as Karma, for unit and integration testing. A good test suite gives you the confidence to roll out new features and make changes without introducing regressions. Browser based testing won’t cover every use case, such as native plugins and the occasional difference between mobile browsers and the test environment, but it will still cut down on the amount of manual testing required significantly.

Read more

Meet the NewSQL - Spanner multi-regional

7 Nov 2017

The NoSQL movement came along to give the horizontal scalability to databases, but often at the very high developer and data integrity cost of limitations in query languages, transactions and data consistency. Then NewSQL came along adding back standardised SQL querying across horizontally scaled databases, but still not with the consistency that comes with a SQL database running on a single server. Google Spanner database is the closest to the holy grail of a distributed ACID SQL database, thanks in part to Google’s GPS and atomic clock mediated TrueTime across its data centers, and extensive private global fiber optic network.

Read more

Has your Cloud account been compromised to mine cryptocurrency?

2 Oct 2017

Have you jumped on the cryptocurrency bandwagon yet? Either buying your own with fiat money, or dedicating some hardware to mine it? This article shows how you may have been contributing some computing resource to mine crypto recently without your conset. A script by a company call CoinHive has been making an appearance on various websites, using the visitors browsers to mine cryptocurrencies. End user computers are one resource for hackers to exploit, and if you’re not careful your virtual machines running in the cloud could be compromised by hackers to mine crypto.

Read more

How to slice 10% off your build size with Ionic 3.7

2 Oct 2017

While some of the Ionic team is busy working on the Web Component based version of Ionic 4, we still get to enjoy frequent releases of Ionic 3.x. Last week delivered us Ionic 3.7, which brough the version of Angular used up to 4.4.3 (from 4.1.3) which brings us the new HttpClient API, amongst other changes. The corresponding update to @ionic/app-scripts also brings us the CLI update which incorporates the new angular optimizer build tool, ngo.

Read more

Memcache cache Adapter for Parse Server on Google App Engine

24 Jul 2017

Increasing performance and reducing costs is a constant goal in cloud applications, and caching is often an effective way to make improvements. The Parse server supports a cache adapter which caches commonly queries such as database schema, users, roles and sessions. Out of the box Parse comes with a cache adapter for Redis, which is a top choice when it comes to caching. Our full stack Ionic and Parse app runs on the Google App Engine, which has a Memcached service.

Read more

How to complete promises in parallel using async and await

1 Jul 2017

Back in the bad old days of node.js the asynchronous code handling was done with callbacks, resulting in deeply nested and indented code which could quickly become difficult to follow. The advent of promises simplifed the chained asynchronus calls to a more managable linear fashion, but there was still a few gotchas for beginners, and complex conditional logic could still be tricky. The async and await keywords promise even more simplicity in handling asynchronous event, resulting in code written in a synchronous manner which makes it easer to understand and reason.

Read more