Today I’m happy to share that Ionic’s starter projects now ship with modern linting, powered by ESLint. This gives us a consistent linting tool across all project types, but also removes a deprecated dependency. Let’s dive in and rewind the clock to 2018.
Sunsetting TSLint
If you were looking for a linting tool for a TypeScript project, chances are you ended up using TSLint. TSLint was a static analysis tool that would check a TypeScript code base to enforce a consistent code style and make sure the project didn’t break any rules, aka your standard linting tool. Now, TSLint isn’t the only tool in this space. Another linting tool that was the de facto standard in JavaScript projects was ESLint. ESLint and TSLint provided a similar set of features, but ESLint didn’t have support for TypeScript.
Fast forward to 2019, and the landscape was starting to look different. The TypeScript community was looking to improve the tooling landscape and provide a more unified experience for TypeScript and JavaScript devs. The maintainers of TSLint took this opportunity to announce the deprecation of TSLint and plans to help support ESLint as the linter for both TypeScript and JavaScript.
Now in 2021, the TSLint repo has been archived and the TypeScript-ESLint team, headed up by James Henry and others, have been working to support developers.
When we think about building apps, we’re typically talking about one app, one git repo, and one build output. However, this one-app-one-repo setup is not always reflective of the real world experience of developers. Oftentimes, organizations will make use of a single repository with every app, component, library that could be used being developed there. This is a monorepo, and they’re starting to become very popular.
So what makes a monorepo so interesting for organizations? Why would they want to put all their code in one place and maintain what could be a massive git repo instead of having many small and separate repositories? Well we at Ionic have a lot of experience with monorepos and wanted to provide some guidance for how Ionic users could implement a monorepo setup for their teams. Let’s dive in.
I’m excited to announce the first release of Ionic Secure Storage, the latest from our growing suite of enterprise-ready native solutions. Ionic Secure Storage is a high-performance, secure data store that lets you encrypt, access, and manage your data locally across iOS and Android (and web, see later) with zero hassle. Build secure, reliable, high-performance apps quickly without being a mobile security expert.
If your team is building Ionic apps that need to safeguard sensitive data, ensure security compliance and adhere to regulations such as HIPAA, or would like to deliver highly performant data-driven experiences that work on and offline, then this solution is for you. With Secure Storage, you can shave off weeks or months of development time, and rest easy knowing Ionic’s team of native experts will handle long-term maintenance and stability.
Today I’m thrilled to announce the release of Ionic Storage v3, an open-source library that offers an easy way to store simple data in Ionic apps. Ionic Storage is useful for building single code-base apps on iOS, Android, and the Web, while automatically using the best storage engine available on the platform the app is running on.
Introduced several years ago, Ionic Storage was originally built with only Angular support in mind. However, given its popularity with the Ionic community, we knew it was time for an update and to bring it to the rest of the Ionic ecosystem.
Read on to learn what’s new in v3 and how to migrate if you’re using Ionic Storage 2.x today.
As of December 2020, Apple has required all apps in the App Store to report their data collection practices. Once added by developers, users can view the app’s product page to see which data is linked to them or used to track them.
A recent report from the secure storage service pCloud highlighted the “most invasive apps”—the apps that are most likely to share your personal data with third parties. We were thrilled to learn that Amtrak, one of our customers, made the list of safest apps to use to protect your personal data.
Today we hosted our first launch event of 2021. During the event, we heard from core Ionic team members about some exciting new updates and recent releases across our open source and commercial products.
Missed the live event? No problem. Continue reading for all the details, or watch the recording on YouTube here.
This is a guest post from Simon Grimm, Ionic Developer Expert and educator at the Ionic Academy. Simon also created the Practical Ionic book, a guide to building real world Ionic applications with Capacitor and Firebase.
In this tutorial we will build a simple Capacitor PWA with Ionic and Angular. We will integrate functionality to capture an image and share our current position using Capacitor plugins which work inside both native apps and PWAs!
Finally we will bring our PWA to the outside world by hosting it on Netlify, so we got a full trip from start to hosted PWA in one go.
Every app at some point will need to tackle one of the most contentious subjects in front end development: State Management. If you ask ten different developers how to manage state in an app, you’ll most likely get ten different answers, as everyone can have a slightly different approach if they were to build their own system. Thankfully, most frameworks provide some opinionated solutions for managing state in an app. For Vue, developers make use of the library Vuex, which provides common patterns that makes managing state predictable and consistent across the entire app. Let’s look at how we can manage a simple TODO app using Vuex and as an added benefit, we’ll make it type safe using TypeScript.
Here at Ionic, we’re big fans of TypeScript. Back when we were working on Ionic Framework 2.0, we made the move to go all in on TypeScript and haven’t looked back. When we shipped Ionic React, we made sure it used TypeScript out of the box and wrote about how to use TypeScript in a React app. Now with Ionic Vue, we’ve made the same choice to go all in on TypeScript and ship all our starter Vue projects with it. But we started to notice something interesting with the Vue Community: a bit of hesitation and in some cases a full on rejection of TypeScript. What’s the deal?
When we announced Capacitor 3.0 beta last week, one of the biggest changes we mentioned was around the core Capacitor APIs. All officially supported plugins are now installed and versioned separately from Capacitor core. While this may seem like a pretty drastic change, the migration is fairly straight forward. With these changes, developers actually have more control over what APIs are included in an app. Meaning not only is there a better developer experience, but a faster startup time for your app. Let’s take a look at how we can update an app to the latest beta and use the new APIs in our App.