Web Push, a multi-standard notification service for time-sensitive and high-priority events will be available for Safari 16 on macOS Ventura in October.
WebKit’s message alert service Web Push will soon be supported by WebKit for users of Apple devices, according to a tweet from Jen Simmons, a member of the Safari and Webkit web developer experience team.
Web Push is an opt-in notification service, which will require it to ask users for permission before sending notifications. No exact date was given for the release on macOS Ventura. It will be available for all users, with no Apple Developer Program membership required.
This addition comes ahead of the previous release date Apple announced, which had Web Push becoming available on its devices sometime next year. The announcement comes on the same day Safari 16.0 shipped for iOS, macOS Monterey, and Big Sur.
Web Push Allows Multiple Standards to Safari Notifications
Developers have been able to send push notifications on Safari for some time, but previously these followed a different standard.
The inclusion of Web Push support means Safari applications will now be able to send notifications with the same combination of web standards as other browsers. In other words, if a developer has coded notifications to web standards, they will no longer have to add additional lines of code or make any changes for their application to work in Safari.
Some standards that work with Web Push include Push API, Notifications API, and Service Workers. Web Push for Safari will use the same Apple notification service that powers Native Push on all iOS devices.
New end-point URLs will send notifications from subdomains of push.apple.com.
Web Push One Of A Number of WebKit Additions to Safari
WebKit is an open-source web browser engine used by many macOS, iOS, and Linux applications. In a blog post released, Simmons highlighted all the engine’s new features that will be available in Safari 16.0.
These include passkeys to provide an easy and secure way to log in, and container queries, which will allow developers to adjust the layout and styling of items on a website based on size, rather than the viewport and accessibility improvements.
A feature of particular interest for e-commerce companies is the addition of Merchant Token support in Apple Pay. This provides a “more efficient way to support recurring payments, support for multi-merchant payments, and a way to pay multiple merchants of record in one transaction”.
Safari 16 also supports Order Tracking, enabling online merchants to provide customers with detailed order and shipping information via Apple Wallet.
For more information and to develop iOS Mobile Apps, Hire iOS Developer from us as we give you a high-quality product by utilizing all the latest tools and advanced technology. E-mail us any clock at – firstname.lastname@example.org or Skype us: “hkinfosoft”.
To develop iOS Mobile Apps, please visit our technology page.
It is no news that Microsoft is working very hard on improving and bringing new features to the .NET framework or to its C# programming language. This time Microsoft is targeting web development and is focusing on ASP.NET Core, which will apparently come hand in hand with the .NET 7 version.
Some time ago Microsoft released Preview 1 of ASP.NET Core on .NET 7 and the amount of new features is great, so let’s see the new features!
New Minimal API Improvements
The first of the new features will bring improvements in minimal APIs, especially in IFormFile and IFormCollection. With this new improvement you will be able to use IFormFileand IFormCollection to handle and manage file uploads in a much easier way.
Microsoft warns that if you want to use these new functions with authentication, anti-forgery is required, but so far Microsoft has not implemented such support. However, they reassure us that it is on the roadmap of .NET 7.
Support for such requests with client certificates or cookie headers is currently inactive. Let’s take a look at the example provided by Microsoft to see this new ASP.NET Core feature in action:
The next new enhancement for the minimal APIs in ASP.NET Core comes for Steam and PipeRider.
To understand in what kind of scenario these new minimal APIs would be used, let’s imagine that we need to store data in a blob storage or queue it in some queue provider like Azure. In this case we can use Steam and PipeRider to bind the body of a request and later process it in the cloud.
However, Microsoft warns us three details to achieve a correct functioning of these minimal APIs:
- The Streamwill always be the same object as Body when ingesting any type of data.
- The Streamcannot be read again more than once (not rewindable) since by default the request body is not stored in the buffer.
- As the underlying buffers will end up being reused and discarded, both Streamand PipeRider cannot be used outside of the action handler.
The last improvement in the minimal APIs that Microsoft brings in this Preview 1 is about JSON configuration. Through ConfigureRouteHandlerJsonOptions we will be able to manually configure the options and settings of the minimal API endpoints using JSON.
This improvement has been introduced mainly, as Microsoft says, to avoid confusion with Microsoft.AspNetCore.Mvc.JsonOptions.
New client source generator for SignalR
This is the next new feature that ASP.NET Core will bring in .NET 7. This new source code generator for SignalR introduced by Microsoft has the ability to generate code (both sending and receiving) strongly typed based on developer-defined interfaces.
This especially applies to SignalR hub interfaces, there would be no need to use them in loosely-typed methods, we now have the option to reuse them in the client. At the same time, there is the possibility of implementing an interface that contains the methods and at the same time the client can take advantage of that interface to call any method that is part of the hub.
The good thing is that Microsoft has let us see the use and operation of this new SignalR generator. Let’s see how Microsoft uses it:
- First you need to add a reference to AspNetCore.SignalR.Client.SourceGenerator.
- Then the following classes must be added to the project: HubClientProxyAttributeand HubServerProxyAttribute :
The next step is to add a static partial class and write the following static partial methods together with the attributes HubServerProxy and HubClientProxy in this way:And finally, we would use the partial methods and that’s it:That’s it, that’s how easy it is to use the new SignalR client source generator.
Razor Pages and MVC views with nullable models
We continue with the next improvement brought by Microsoft. This time they have focused on improving the user experience of the checks and for this, they have implemented the nullable view for the checks that are made of null state of any ASP.NET Core application. In this case this is the example that Microsoft provides us:
Unfortunately there are no further examples or use cases for this new feature. Hopefully Microsoft will continue to release new features and talk more about the ones already revealed.
Validate errors with JSON property names
Thanks to this new ASP.NET feature you will be able to manually configure with “SystemTextJsonValidationMetadataProvider” the validation to use the JSON property names.
Previously as the names of the properties that a model has, commonly were implementation details, managing them from a single page application was difficult.
If you want to know more about this feature, I recommend you, as always, to consult the original source: Use JSON property names in validation errors
Injection services in Blazor
Injecting services into Blazor? attributes Yes, thanks to this improvement you will be able to inject almost any type of service into custom validation attributes. To do so, the ValidationContext will be configured by Blazor to be used as a service provider.
For more information and to develop a website using ASP.NET, Hire .NET Developer from us as we give you a high-quality product by utilizing all the latest tools and advanced technology. E-mail us any clock at – email@example.com or Skype us: “hkinfosoft”.
To develop a Website using Vue.js, please visit our technology page.
Node.js 18.0 is released by the Node.js community. The most wonderful news is that in October 2022, this version will be elevated to long-term support (LTS). The codename for the release will be ‘Hydrogen’ once it is promoted to long-term support. Support for Node.js 18 will last until April 2025.
Okay now, let’s see What’s New?
The most exciting news is that version 18 will finally provide native fetch functionality in Node.js. For the longest time, Node did not contain support for fetch, which is a highly standard API on the web for conducting HTTP requests or any other type of network request, and Node did not support it by default. If you wanted to make an HTTP request, you had to either use third-party tools or write the request from scratch. The implementation comes from undici and is inspired by node-fetch which was originally based upon undici-fetch. The implementation strives to be as close to spec-compliant as possible, but some aspects would require a browser environment and are thus omitted.
The API will remain experimental until further test coverage is introduced and the contributors have verified that the API implements as much of the requirements as is practicable.
Undici Library in Node.js:
If you look at this issue closely, you can see that Node utilised or primarily ported a library called Undici. What exactly is this library? It’s officially produced by the Node team, however it’s really an HTTP 1.1 full-fledged client written entirely in Node JS.
Experimental test runner:
import test from ‘node:test’;
This module is only available under the node: scheme. __Node Document
Node.js 18 features a test runner that is still in development.It is not meant to replace full-featured alternatives such as Jest or Mocha, but it does provide a quick and straightforward way to execute a test suite without any additional dependencies.
It provides TAP output, which is extensively used, and makes the output easier to consume.
More information may be found in the community blog post and the Node.js API docs
Community blog post
Note: The test runner module is only available using the node: prefix. The node: prefix denotes the loading of a core module. Omitting the prefix and importing ‘test’ would attempt to load a userland module. __Node Documents
As with other major releases, this one upgrades the minimum supported levels for systems and tooling needed to create Node.js. Node.js includes pre-built binaries for a variety of platforms. The minimum toolchains for each major release are evaluated and raised if needed.
- Red Hat Enterprise Linux (RHEL) 8 now builds prebuilt binaries for Linux which are compatible with Linux distributions based on glibc 2.28 or later, such as Debian 10, RHEL 8, and Ubuntu 20.04.
- MacOS 10.15 or later is now required for prebuilt binaries.
- For AIX the minimum supported architecture has been raised from Power 7 to Power 8.
Due to issues with creating the V8 dependencies in Node.js, prebuilt binaries for 32-bit Windows will not be accessible at first. With a future V8 upgrade, we hope to restore 32-bit Windows binaries for Node.js 18.
According to Node.js BUILDING.md file
Supported platforms is current as of the branch/release to which it belongs
Node.js relies on V8 and libuv. We adopt a subset of their supported platforms.
There are three support tiers:
- Tier 1: These platforms represent the majority of Node.js users. The Node.js Build Working Group maintains infrastructure for full test coverage. Test failures on tier 1 platforms will block releases.
- Tier 2: These platforms represent smaller segments of the Node.js user base. The Node.js Build Working Group maintains infrastructure for full test coverage. Test failures on tier 2 platforms will block releases. Infrastructure issues may delay the release of binaries for these platforms.
- Experimental: May not compile or test suite may not pass. The core team does not create releases for these platforms. Test failures on experimental platforms do not block releases. Contributions to improve support for these platforms are welcome.
V8 version 10.1
The V8 engine has been updated to version 10.1 as part of Chromium 101. The following new features are added in Node.js 17.9.0 over the previous version:
findLast() & findLastIndex():
With the findLast() and findLastIndex() methods, This use case is easily and ergonomically solved.They perform identically to their find() and findIndex() equivalents, with the exception that they begin their search at the end of the Array or TypedArray.
- Improvements to the Intl.Locale API.
- The Intl.supportedValuesOf function.
- Improved performance of class fields and private class methods (the initialization of them is now as fast as ordinary property stores).
For more information and to develop web applications using Node JS, Hire Node Developer from us as we give you a high-quality product by utilizing all the latest tools and advanced technology. E-mail us any clock at – firstname.lastname@example.org or Skype us: “hkinfosoft”.
To develop your custom web app using Node JS, please visit our technology page.