The essential news about content management systems and mobile technology. Powered by Perfect Publisher and XT Search for Algolia.
The News Site publishes posts to the following channels: Facebook, Instagram, Twitter, Telegram, Web Push, Bluesky, and Blogger.
We’re excited to celebrate a new milestone for the Ionic Visual Studio Code extension. This free tool that accelerates Ionic and Capacitor app development recently reached 300,000 installs! Thank you to the community for supporting it and providing valuable feedback.
On the heels of this exciting milestone, Ionic Visual Studio Code Extension v1.70 is out now! Here are some of the major features added in the past few months for Angular and Capacitor.
The Angular 17 release brought a lot of developer experience improvements that the Ionic VS Code Extension helps you leverage easily. Control flow provides an alternative way to conditionally show, hide, and repeat elements in Angular templates. To migrate your project, choose Project > … then “Migrate to the built-in control flow syntax.” ESBuild provides many benefits including faster build-time performance for both initial builds and incremental rebuilds. Upgrade to ESBuild from within the extension’s Recommendations section.
Developers can now import only the Ionic components used in an app. This standalone component approach uses tree shaking to reduce overall build size and leverages newer Angular features like ESBuild. The VS Code extension can migrate for you by clicking Project > … then choosing “Migrate to Ionic standalone components.”
The drawback to standalone components is that each component has to be manually imported and registered. Enter automatic import! Add an Ionic component into an HTML file, like in home.page.html:
<ion-button><ion-button>
Over in home.page.ts, the Extension automatically imports the IonButton component and adds it to the list of imports:
import { IonButton } from '@ionic/angular/standalone';
@Component({
standalone: true,
imports: [IonButton]
})
export class HomePage { }
This saves a bunch of time and switching between files.
While upgrading to newer Capacitor versions manually is quite painless, why not have the Extension do it for you? Changes to plugins, as well as the iOS and Android projects, are made during the migration. Look for this option under the Recommendations section.
That’s not all! Capacitor 6 is coming soon. Get a head start by migrating to the Release Candidate under the Recommendations section.
Search for native functionality, then easily install, uninstall, or update a Capacitor or Cordova plugin. Filter by platform, officially supported, or Capacitor-only plugins. To open the search window, click the three dots next to the “Plugins” menu item.
The post Angular 17 and Capacitor Enhancements Now Available in the Ionic VS Code Extension appeared first on Ionic Blog.
One of the biggest hurdles for any successful app development project is time. Deadlines remain tight and there never seems to be enough engineers to get the work done. But in today’s fast-paced business landscape, it’s critical to remain agile, adjusting the product roadmap rapidly to meet market demands and stay ahead of the competition.
So how can your development teams build and deliver secure, high-performing apps across platforms? And do so with pace? Enter Ionic’s Enterprise SDK, a game-changer for accelerating enterprise app development and time-to-market.
Nothing delays product launches quite like building the same thing twice. Juggling multiple codebases and reinventing the same wheels project after project only compounds the issue. That’s why the Enterprise SDK provides a single, cross-platform solution for building robust apps for iOS, Android, and the web. By removing the need to write separate code for each platform, development time is quite literally cut in half.
Marvin M., an Enterprise Architect in the healthcare industry, sums it up nicely when he says, “We find building enterprise and industry-focused apps with Ionic to be cheaper and faster than having to hire and maintain three separate development teams.”
However, speed shouldn’t mean compromised security. After all, enterprise apps require top-notch protection. So, Enterprise SDK comes equipped with a comprehensive security suite, including:
These pre-built solutions are supported and managed by Ionic to remain up to date with the latest industry security best practices. They save developers time and ensure robust data protection by eliminating the need to build complex security features from scratch. Instead, developers can rest easy knowing that their data is secure, so they can focus on building their app’s key features.
The Enterprise SDK doesn’t stop at security, it comes out-of-the-box with a mobile UI toolkit ensuring teams aren’t bogged down with the nuances of design systems. Instead they get a library of adaptive, mobile-ready components that look and feel at home on any user’s device.
The SDK also tackles another engineering heavy hitter – native integrations. Plug-and-play solutions are available to tap into native device features, such as camera, filesystem, preferences and storage, when they’re needed. This removes the need to build complex code around interfacing with the device-level APIs.
However, you can’t just build the app. You need to get it in the hands of users. So, the SDK’s mobile DevOps arm simplifies the process of delivering the app to the respective app stores for download. By offering services to build and sign the native binaries required by Apple’s App Store and Google’s Play Store, teams can leverage their existing version control system to keep up-to-date builds flowing to the appropriate development and production environments.
Solutions at each phase of the mobile development lifecycle are what businesses like Kristofer P.’s point to as the “… technology [they] rely on!”
The reliability doesn’t end with the software. It continues with the support and advisory services included within the Enterprise SDK. Experts are available to assist your development teams when they need it. Stuck on a bug? Need help keeping pace with framework and package changes? Industry leading support specialists can work with your team to ensure they meet their critical development goals and remain proactive in app and data security.
Jedidiah W., CEO of the leading mobile app development consultancy OpenForge, has seen the value of Ionic’s enterprise support service first-hand. He says, “we work with a ton of enterprise customers and every single one loves Ionic’s support structure.”
With Ionic’s Enterprise SDK at your disposal, expect your development time to reduce by weeks, if not months. With its focus on speed, security, and developer productivity, it empowers enterprise teams to build and deliver exceptional apps that drive business growth.
Eager to learn more? Schedule a demo with industry experts to see how your team can benefit from all the SDK has to offer. If you’re ready to dive right in, activate your free trial to experience the power firsthand.
The post Ship Enterprise Apps Faster with Ionic’s Enterprise SDK appeared first on Ionic Blog.
Read more https://ionic.io/blog/ship-enterprise-apps-faster-with-ionic-enterprise-sdk
Today we are thrilled to announce the release of the Ionic 8 beta! This release is the culmination of many months of hard work by the development team and brings improvements to theming, accessibility, and more!
Let’s dive in
Ionic 8 now ships both the light and dark themes built into the project. For added convenience, the light theme is automatically imported via the core.css file. Importing the dark theme is as simple as importing a single CSS file:
import '@ionic/react/css/themes/dark.system.css';
In Ionic 7 and earlier, developers added light and dark themes by manually copying and pasting design tokens into their applications. However, as Ionic evolved, we discovered that this solution was hard for developers to maintain as well as hard for us to scale.
The above stylesheet will apply the dark theme based on the system settings for a user’s preferred color scheme. With this approach, developers will always receive the latest and greatest light and dark themes whenever they update Ionic. Additionally, developers can continue to customize our themes!
But wait, there’s more! Developers still have full control over how the dark theme is applied. For example, developers can configure their application to always apply the dark theme or only apply the dark theme when a CSS class is present on the body element. This can be done by importing either the dark.always.css or dark.class.css files.
As part of this, we’ve revamped the Dark Mode documentation to give you more information about how to apply the dark theme stylesheet effectively.
Also in Ionic 8 is a revised color palette that focuses on improving color contrast. Each color token (primary, secondary, success, etc) now meets AA contrast levels as defined by the Web Content Accessibility Guidelines when used with a proper contrast color. This increases readability in your Ionic application as users can more easily distinguish the foreground from the background.
In Ionic 7 and earlier we realized that certain colors had low color contrast even when used against the recommended contrast colors. We want to make it easy to build accessible experiences with Ionic, and having accessible colors is an important part of that.
Thanks to the new API for importing themes, it’s easy for developers to take advantage of these revised color tokens upon updating to Ionic 8! Developers can continue to customize the color tokens, too.
To showcase these new colors, we’ve updated the Color Generator.
The revised color palette is great for ensuring AA level compliance for color contrast, but what about scenarios where we need even higher levels of color contrast? In Ionic 8, we are pleased to introduce the new high contrast light and dark themes! With these themes, each color token now meets AAA contrast levels for text when used with a proper contrast color. Additionally, other details such as item borders and sub text also have increased color contrast.
Thanks to the new API for importing themes, developers can easily opt-in to these high-contrast themes by importing the light and dark CSS files:
import '@ionic/react/css/themes/high-contrast.system.css';
import '@ionic/react/css/themes/high-contrast-dark.system.css';
iOS and Android have system-level settings allowing users to enable or disable the high-contrast theme. As with the previous theme improvements noted in this blog, we’ve also provided high-contrast.always.css and high-contrast.class.css files to give you full control over when these themes are applied.
Check out the new High Contrast Documentation for more information.
To better support the previously mentioned high contrast theme, we are introducing a new set of step color tokens. These step colors allow developers to control text colors independently of background colors.
:root {
--ion-text-color-step-50: #f2f2f2; /* only used for text */
--ion-background-color-step-50: #0d0d0d; /* only used for background */
}
In previous versions of Ionic, we had tokens that followed
the syntax --ion-color-step-[number]
. These step
colors provided a grayscale palette for customizing background and
text at the same time. This architecture proved challenging for the
high contrast theme as simply darkening the step color values would
actually reduce color contrast.
For example, for ion-datetime-button
, making the
step colors darker would cause the black text in the button to be
displayed against a dark gray background, which defeats the purpose
of the high contrast theme.
Ionic 8 is backward compatible with the older
--ion-color-step-[number]
tokens, so developers do not
need to migrate immediately. However, we recommend adopting them as
soon as possible as they are required to use the high contrast
theme.See the Stepped Color Documentation for more
information.
We’ve also made several small changes to our iOS components to better align with the iOS 17 design system. Most of these changes are fairly subtle, but one notable feature is the ability to disable action sheet buttons. Previously, all buttons in an action sheet were always enabled. We’ve also added this behavior to the Material Design variant of action sheet so users can have a consistent experience across platforms.
Check out the Action Sheet documentation for more.
Last but certainly not least in the line of new features is the new Picker experience in Ionic. With the introduction of the new Datetime in Ionic v6, you may have noticed that the component sported a new inline Picker. We’ve been piloting this new experience as part of an internal component only available inside Datetime. With Ionic 8, we are excited to finally roll this experience out to all developers!
This new experience has several notable advantages over the Picker found in previous versions of Ionic:
For example, this feature allows Angular developers to iterate through column options using an @for. Any time the associated data array changes, Angular will re-render and automatically add or remove the appropriate column option components. This new approach is great for displaying reactive data.
<ion-picker>
<ion-picker-column value="red">
@for (option of options) {
<ion-picker-column-option [value]="option.value">
{{ option.text }}
</ion-picker-column-option>
}
</ion-picker-column>
</ion-picker>
Not ready to take advantage of the new Picker experience? Fear
not! The Picker experience found in Ionic 7 is still available with
the ion-picker-legacy
component.
Check out the Picker documentation for more examples of all the great things you can do with this component.
In Ionic 7, we introduced a new form control syntax that brought the following improvements:
ion-item
and ion-label
requirements.This new syntax improves the accessibility of Ionic apps while reducing technical debt with Ionic Framework, making it easier than before to fix bugs and add new features.
During the Ionic 7 development cycle, developers could continue using the legacy form control syntax if they did not want to upgrade immediately. We heard a lot of feedback from developers regarding bugs and missing features. We’ve been listening to your feedback, and the team worked hard throughout 2023 to resolve the highest priority bugs and add missing features from our implementation.
Now that the highest priority bugs have been resolved and the
features that developers needed to migrate to the new form control
syntax have been added, it’s time to retire the legacy form control
syntax.
As of Ionic 8, the legacy
property on form controls,
as well as support for the legacy form control syntax has been
removed.
While breaking changes are one tool that allows us to continue to improve Ionic, we realize they are disruptive to your work. As a result, Ionic 8 has fewer breaking changes than Ionic 5, Ionic 6, and Ionic 7! Additionally, many of the larger breaking changes have had migration paths available for over a year, allowing developers to migrate early and avoid some of the Ionic 8 breaking changes.
Developers can start with the Ionic 8 beta by visiting the Ionic 8 migration guide. Developers should also consult the Ionic 8 breaking changes guide.
As always, any bug reports can be filed on the Ionic Framework repo.
Starter applications will continue to use Ionic 7 and will only be updated to ship with Ionic 8 once Ionic 8 is formally released.
Ionic 8 is another huge step forward for Ionic applications with great enhancements to theming, accessibility, revised iOS designs, and the new Picker experience. We’d like to thank the community for their continued support of this project. Ionic 8 would not have been possible without your efforts!
The post Announcing the Ionic 8 Beta appeared first on Ionic Blog.
Read more https://ionic.io/blog/announcing-the-ionic-8-beta
In the latest release of iOS 17.4, Apple seems to have chosen to significantly limit home screen web apps (or PWAs if you’d like). In this release, if you choose to use a third-party browser (any other browser that doesn’t use WebKit under the hood) and try to save a web app to the home screen, iOS will now open that web app in your browser, instead of a home screen app shell.
Apple claims that this update was made to comply with EU’s orders for allowing alternative browsers on iOS. To comply with this order, they have done significant work to allow for an alternative browser choice, but in doing so, they’ve essentially removed the ability for a headless app shell for any home screen web app. Their claim is that because users could be using an alternative browser, there’s no way to guarantee security and privacy when saving a web app. This has led them to essentially remove the experience altogether for users in the EU.
We at Ionic want to reassure our community of developers that we have their back. We’re following upcoming iOS releases in hopes that this move from Apple will be reversed at some point. For developers in the EU that are worried about their projects, fear not.
Ionic’s bet on web technologies allows us to not worry about any potential hurdles that Apple may try to enforce. With our native runtime Capacitor, the same web app that you were hoping to ship as a PWA can ship as a native iOS app with no changes needed from you. By simply adding Capacitor to your project, you now have full access to any native capabilities while still being able to utilize your web development skills.
While PWAs have mostly been used in the indie developer community, many large enterprises we talk with have been hoping to take advantage of a PWA in order to get their app to market quicker. If you’re an enterprise development team that still wants to work within the realms of PWAs and ship a native app for iOS (or Android), Ionic can help you make sure your apps are ready when Apple stops limiting their browser and mobile devices.
The post A note on iOS 17.4 and PWAs appeared first on Ionic Blog.
Read more https://ionic.io/blog/a-note-on-ios-17-4-and-pwas