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, Tumblr, and Blogger.
Read more https://www.extly.com/blog/22-latest-news/797-black-friday-sale-2023-30-off.html
When it comes to building software, we understand that keeping your tech stack up to date is key. When tools don’t update until the last minute, that can mean long nights and hectic mornings trying to avoid potential breaking changes while attempting to minimize disruption.
In our ongoing effort to provide a better experience for developers, we decided to update our release cadence to better serve the community. Let’s dive into the changes and see what future Capacitor releases will look like.
In previous iterations, major releases of Capacitor were based around ensuring that apps built with Capacitor would be compliant with the latest deprecations and requirements established by the mobile app stores. These releases often came just weeks before the deadlines associated with the requirements, giving developers minimal time to make the required updates to their applications. This caused a flurry of activity as plugin authors and app developers alike scrambled to get updates in place quickly to meet their own deadlines.
We believe that Capacitor should instead have a much more proactive approach, which is why we’ve devised a new release cadence. The fundamental idea driving this change is to benefit both plugin authors and app developers who rely on Capacitor, to provide them the time and resources they need to be successful. While there will always be some level of flexibility built into our new cadence, this is what you can expect from us in the future.
In the pre-release stage, we will begin updating Capacitor based on the changes that are published in the upcoming Android and iOS releases. We will be identifying breaking changes to the plugins and adding new features where appropriate. Capacitor will remain in this state until after the final release of both the iOS and Android operating systems as well as the appropriate tooling updates required for these platforms as well.
A new major version of Capacitor will be published at this point
and will be considered production ready. However, we will not make
this new major version the latest
tag at this point,
and all new projects will continue to be created with the prior
major release. During this window, we will be working closely with
plugin authors to ensure that as many plugins in the ecosystem are
updated to support the new major version as well as work out any
bugs that surface due to the larger availability and adoption of
this version. Developers may safely choose to upgrade during this
stage if they choose to, with the understanding that many plugins
may not be updated.
After a short period, we will then adjust the new major version
to become the latest
version of Capacitor that is
installed on all new projects. It is at this stage that we will be
encouraging developers to begin their upgrades to the latest
version in preparation for the upcoming app store requirement
changes. Our goal is to provide developers with a minimum six
months upgrade window before the requirements are put into
effect.
The prior major version will be put into maintenance mode when we make this change. All major versions will receive six months of maintenance support with an additional six months of support available through our enterprise support services.
We hope that these changes bring consistency to our process that you can come to rely on and help Capacitor be an incredibly stable and integral part of your app development resources.
The upcoming release of the Capacitor 6 beta marks the beginning of our new release cadence for Capacitor, and we can’t wait to share it with you.
The post Introducing a New Capacitor Release Cadence appeared first on Ionic Blog.
Read more https://ionic.io/blog/introducing-a-new-capacitor-release-cadence
These days, it feels like we have an app for everything. Managing your finances? There’s an app for that. Want to connect with friends halfway around the world? There’s an app for that too. Want a hot meal delivered to your door? Another app!
Before you know it, you can easily rack up 50+ different apps on
your device. That also means 50+ logins for you to remember, 50+
apps that need regular updates, and seemingly infinite screens you
need to swipe through to accomplish various daily tasks.
What if it didn’t have to be this way? What if multiple services or
products could be available in a single place? What if instead of
disparate apps for every individual task, we had consolidated
digital experiences? Superapps make it possible—and Ionic’s Superapp SDK makes it simple to build one for
your organization.
In short, a superapp is a single app that houses various digital experiences within it. They provide end users, such as employees, partners, or customers, with access to independently created mini apps. These mini apps are unified under a single umbrella application, so users don’t need to switch between screens or hop between digital experiences. The core application contains essential functionality, while the mini apps can add on needed features.
Whether you’re looking to scale your business, modernize your development strategy, or simply create a unified digital experience, then superapps may be for you.
Superapps are all about consolidating disparate experiences into a single, streamlined one. Rather than switching screens and remembering yet another login, users can access everything they need in one place. This means less headache, less apps clogging up devices, and less chance of users abandoning your app as they switch to another and potentially forget about it.
Development can also be simplified with superapps, as you can build core functionality once and reuse it across apps, creating a digital experience that scales and grows with your business. This reduces development overhead using a modular architecture, while leveraging web teams for feature development. Teams are able to ship features faster than ever, and app development can be expedited even more with starter app templates.
Adopting a superapp architecture can also be a catalyst for modernizing your app development strategy. It allows development teams to work independently, building mini apps that replace disparate apps to provide users with a cohesive experience. New features can be delivered asynchronously, and live updates can be deployed directly to users’ devices. You can also implement app governance and development standards to apply across anything developed within the superapp.
Superapps can scale and grow into highly intricate applications, and can be complicated to build without the proper tools.. First, native teams develop shell apps for iOS and Android with core functionality, such as authentication or payments information. Then, web teams build mini apps with additional features and functions using any web technology stack or framework. The mini apps then need to be connected to the native shell. Mini apps can be automatically installed with the native shell or discovered within the superapp and downloaded separately. This entire process is simplified with the Superapp SDK.
Creating a superapp allows native and web teams to collaborate effectively, leveraging the skills, languages, and experience of each. Teams can also move faster than ever, since there’s no need to learn anything new, and mini apps can be deployed across both iOS and Android—cutting down duplicate efforts and keeping uniform look and feel. The mini apps are seamlessly integrated into their native shells through the power of Ionic Portals. Portals removes the complicated work of moving data and instructions between the native layer and the web layer. Once the interface for communication is established, each team can continue to work autonomously.
Not only are the dev teams able to build separately, they can ship separately as well. Superapps created with the SDK can leverage the power of a cloud mobile DevOps—via the cloud service, dev teams can create both native and web builds on their own timeline. The native builds can be deployed to the app store as needed, while the web builds can be updated within the native shell whenever required. With Live Updates, mini apps can be changed in real time with over-the-air updates as well, ensuring users always have the latest and greatest on their devices.
The Superapp SDK has everything mobile development teams need to manage their superapp development lifecycle. If you’re looking to get started building your first superapp, check out our tutorial.
Workforce engagement is always a challenge—with app overload making things even worse. 69% of workers were wasting up to an hour a day navigating between apps, and 36% of digital workers missed important updates due to a multitude of apps and the volume of data flowing through them. The best way to combat this app fatigue? With a streamlined experience via superapp. Having everything in one place empowers frontline employees to get the information they need when they need it, and eliminates the need for juggling numerous logins and applications.
On the managerial side, superapps can help simplify administrative processes, saving time and resources in the process. It’s far simpler to manage everything from a centralized place as opposed to overseeing disparate processes across multiple applications. With superapps, managers have the potential to do everything from approving PTO to chatting with teammates from a single place.
A customer in the health and beauty space has been able to develop a superapp lightening fast thanks to Ionic’s Superapp SDK. In under 5 months, they created an app for employees to use in stores, showing them product stock levels, allowing them to order new products for the store, and integrating shipping/receiving technology.
The customer notes that “with a superapp approach we can develop micro applications in parallel by different teams and build them seamlessly together. And have a continuous deployment mode where we just keep releasing new features.” They also highlighted how despite shipping new features at record speed, this has “low implication on existing features because we have [development teams working in] multiple locations. For example, we have a team in China developing one mini app and [another] in the Netherlands and in Hong Kong.”
Building your own superapp from the ground up can be daunting, and DIY solutions are often clunky, lacking functionality, and aren’t highly secure. That’s why we created the Superapp SDK to be your superapp accelerator.
Ionic’s Superapp SDK provides an entire library of tools to help web developers create a streamlined, centralized mobile app experience. An off-the-shelf design system with adaptive styling means your superapp will look and feel at home on mobile. Your app will always be up to date with the latest UI design, and it’s fully customizable to fit your brand and your needs.
With native-like gestures and animations, such as swiping, entering, and leaving gestures, your apps will build off of experiences your users are already familiar with. Superapp SDK also gives you access to a library of 100+ UI building blocks and mobile-ready components by design, all of which are fully customizable. That means less time reinventing the wheel, more time driving the car.
With Ionic, you’ll have access to build and deploy apps directly to the app stores, and you’ll be able to update your apps live – pushing critical fixes and updates directly to your users’ devices faster than ever. We also maintain SOC II Type 2 certification, so you can rest easy knowing that your and your customers’ data is safe.
Interested? We can help you build a demonstrable superapp proof of concept. Book a demo with one of our experts or download the datasheet to learn more about how superapps can revolutionize your development.
The post Introducing the Superapp SDK appeared first on Ionic Blog.
Read more https://ionic.io/blog/introducing-the-superapp-sdk
As web development continues to evolve, so have our tools for testing. In light of recent advancements in testing libraries and frameworks, we are announcing the deprecation of @ionic/react-test-utils, a package that has served the Ionic React community well.
We believe in delivering the best tools and experiences for our developers, and that includes keeping our testing ecosystem up-to-date. Over time, the landscape of web component testing has evolved, and we’ve seen significant improvements in testing libraries and frameworks.
Testing libraries like Vitest and testing-library have made great strides in providing comprehensive testing capabilities for web components, including those used in Ionic React applications. These libraries are actively maintained, well-documented, and have a thriving community of users and contributors.
By deprecating @ionic/react-test-utils, we can focus on delivering the best possible testing experience to our users by leveraging these modern tools that align with the evolving best practices in web component testing.
Developers can continue to use the @ionic/react-test-utils package today in their applications, but will receive a deprecation warning when installing.
For new applications or applications looking to migrate, we have updated our documentation to guide you on how to set up and use the latest testing libraries effectively. You can find this updated documentation here.
Our goal is to make the transition as smooth as possible for our users. The updated documentation will walk you through the process of setting up testing for your Ionic React applications using the recommended libraries and best practices. We believe this change will help you write more robust tests and better maintain your projects.
As technology changes, so do the tools we use to build and test our applications. The deprecation of @ionic/react-test-utils is a step towards embracing modern testing libraries and ensuring that Ionic React developers have access to the best testing tools available.
We appreciate your understanding and continued support as we make these necessary updates to provide you with the best possible development experience. If you have any questions or need assistance with transitioning your tests to the recommended libraries, please don’t hesitate to reach out to our community or discord.
Thank you for being a part of the Ionic community, and we look forward to seeing your continued success in building amazing applications!
The post Deprecation Announcement: @ionic/react-test-utils appeared first on Ionic Blog.
Read more https://ionic.io/blog/deprecation-announcement-ionic-react-test-utils
We’re happy to announce that as of version 4.5.0, Stencil now has support for building form-associated custom elements! This new feature allows you to build rich, new user experiences leveraging form-related functionality that’s already built-in to the browser, like validation, accessibility, and more.
The browser comes out-of-the-box with several form controls that
you can use to declaratively build out a form without having to
manually wire anything up. You just nest your
<input>
, <select>
, and
<textarea>
elements inside a
<form>
element and the values from those inputs
will be automatically bundled up together. These inputs can also
report whether they are in a valid or invalid state, they can be
labeled for accessibility, and more.
With form-associated custom elements and the
ElementInternals
interface, these built-in browser
features are opened up to web component developers, who can use
them to build custom elements which participate in form elements in
a rich way, just like the inputs already shipped by the
browser.
If you want to learn more about form-associated custom elements, check out this blog post from the WebKit team, this article from web.dev, or read through the WHATWG specification.
To bring support for form-associated custom elements to Stencil
we’re adding two things: a new option, formAssociated
,
for the @Component
decorator, and a new decorator,
@AttachInternals
, which will give you access to the
ElementInternals
for your component.
A Stencil component using this API to implement a custom text input could look
like this:
import { AttachInternals, Component, h, State } from '@stencil/core';
@Component({
tag: 'custom-text-input',
shadow: true,
formAssociated: true
})
export class CustomTextInput {
@State() value: string;
@AttachInternals() internals: ElementInternals;
handleChange(event) {
this.value = event.target.value;
this.internals.setFormValue(event.target.value);
}
componentWillLoad() {
this.internals.setFormValue("a default value");
}
render() {
return (
<input
type="text"
value={this.value}
onInput={(event) => this.handleChange(event)}
/>
)
}
}
If this component is rendered within a <form>
element like so:
<form>
<custom-text-input name="my-custom-input"></custom-text-input>
</form>
Then it will automatically be linked up to the surrounding form,
and the ElementInternals
object found at
this.internals
will have methods on it for interacting
with that form and accessing key information.
In our <custom-text-input>
example above, we
use the setFormValue
method to set a value
in the surrounding form. This will read the name
attribute on the element and use it when setting the value, so the
value typed by a user into the input
will be added to
the form under the "my-custom-input"
name.
With the above example, you could demonstrate this by printing the form data like so:
const form = document.querySelector("form");
const formData = new FormData(form);
console.log("~~ current form state ~~")
for (let entry of formData.entries()) {
console.log(`${entry[0]}: ${entry[1]}`);
}
This example just scratches the surface, and a great deal more
is possible with the ElementInternals
API, including
setting the element’s validity, reading the
validity state of the form, reading other form values, and
more.
This feature brings a lot of functionality to Stencil components that interact with forms and we can’t wait to see what you build with it!
The post Announcing Support for Form-Associated Custom Elements in Stencil v4.5.0 appeared first on Ionic Blog.
Read more https://ionic.io/blog/announcing-support-for-form-associated-custom-elements-in-stencil-v4-5-0