This is part three of a new series on monorepos. By the end of the series, you’ll have the tools you need to adopt monorepo setups in your organization.

Rounding out our series on monorepos, we take a look at an old friend, but a newcomer to the monorepo game, npm. Npm has long been the de-facto solution for managing dependencies, and it only makes sense that, with the release of npm 7.0, we finally have a built-in solution for creating a monorepo without relying on external tools. Compared to other solutions, however, npm workspaces lack a few features and still have some rough edges. While it is possible to build something with it, for simplicity, I’d suggest looking at Lerna as an alternative. With that being said, let’s look at how we can configure an npm workspace to work with Ionic and Vue.

Read more…


Today, we are excited to announce the alpha of a new product from the Ionic team: Ionic Portals. Ionic Portals is our first product aimed at native mobile app developers and provides a supercharged Web View native control to enable native and web teams to better collaborate and bring new and existing web experiences to mobile in a safe, controlled way.

The vast majority of apps in the app stores need to integrate web assets for specific screens and experiences. It could be for authentication forms, features such as mortgage applications, or to bring web experiences to mobile without needing to port them to native. And this is the case even for teams that are fully invested in a traditional native app development stack.

But bringing these web experiences to native mobile apps and code bases is anything but straightforward. Teams struggle to integrate web apps with native functionality and do it in a safe, controlled way that doesn’t disrupt the roadmap of the traditional native development teams, and they are stuck reinventing the wheel by extending stock Web View controls such as WKWebView.

Ionic Portals is built on the industry leading Capacitor hybrid app runtime used by companies like Burger King, Paylocity, H&R Block, and Aflac to deploy mission critical apps. It’s essentially a supercharged Web View native control with a ton of features missing from the stock Web Views on iOS and Android.

Today we’re opening our alpha product waitlist looking for teams struggling with this exact problem to help us make sure we are building this the right way. Interested? Read on to see how to join the list.

Read more…


This is part two of a new series on monorepos. By the end of the series, you’ll have the tools you need to adopt monorepo setups in your organization.

Between sharing code, managing dependencies across projects, and more, monorepos can require a lot of investment to get right. Thankfully, there are many different tools out there that can streamline the process and get developers on the right path. There’s Lerna, Yarn workspaces, npm workspaces (with npm v7), and the one we’ll look at today, Nx.

Let’s look at setting up an Nx workspace and looking at a few packages that can help Ionic Angular developers manage complex app setups and ship their apps faster.

Read more…


This is part one of a new series on monorepos. By the end of the series, you’ll have the tools you need to adopt monorepo setups in your organization.

Building and maintaining multiple development projects comes with a unique set of problems teams need to solve. How do you share common bits of code between projects? How do you sync dependencies across projects? How do you optimize collaboration between projects?

With solutions to those problems, it’s not shocking to see that monorepos are rapidly growing in popularity. In fact, we use monorepos here at Ionic! Several monorepo tools are available to development teams: Nx, Yarn workspaces, npm workspaces, Lerna, Turborepo…and I’m sure more that I’m not even aware of.

In this blog post we’ll be building out a monorepo using Lerna. I personally like how lightweight it is, and it works well with Ionic Framework React projects and Ionic Appflow.

Our monorepo will consist of three packages (monorepo speak for subprojects); two Ionic Framework React applications, and a shared React library that will supply a React context each application will use.

Read more…


Are you part of a company building native mobile apps? Consider joining our new early access program, detailed below.

Since the beginning, Ionic’s focus has been empowering web developers to build powerful mobile apps with their web skills. To date, we’ve helped millions of devs build mobile apps with web tech, collectively powering more than 15% of the public app stores.

Many web development teams have been successful with this approach. But, with a new project we’re working on, we think there’s a way to bring the best aspects of web development to existing native apps as well.

Read more…


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.

Read more…


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.

Read more…


secure storage

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.

Read more…


Photo by Lucas van Oort on Unsplash

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.

Read more…


amtrak

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.

pcloud-invasive-apps

https://blog.pcloud.com/invasive-apps/, March 2021

Read more…


Ionic Blog RSS Feed