linkedlist

Collection of interesting bits and bytes about the Web. Mostly short and to the point.

Sitemap · Subscribe

ECMAScript Temporal may soon land in Browsers

#67 · 2024-08-20 · JavaScript, Temporal

Temporal is an ECMAScript proposal to add new date and time APIs to JavaScript.

It has been in the making for a long time by now. The proposal's repository appeared in 2017 and a lot of activity happened within the last four years. One topic that took a while was the IETF standardization of string formats used in zone annotations. But that has been completed at the end of 2023.

In mid 2024, a scope reduction was discussed at the meetings of TC39. Apparently, some implementors have reservations about the proposal's size and complexity. As a result, some parts of the proposal were removed and may be added in future proposals instead.

But now, finally, it looks like we may soon see Temporal within browsers and other JavaScript engines. Until recently, implementors were not allowed to ship Temporal implementations without hiding them behind a flag. But that restriction was removed from Temporal's README in January. And in the July meeting of TC39, it was noted that Temporal implementations may ship unflagged. Even better, the work-in-progress implementations of Temporal in SpiderMonkey (Firefox), V8 (Chrome), and JavaScriptCore (Safari) already pass many of the required feature tests.

One remaining open issue is the final normative specification text for ECMAScript Temporal, though. But we may already see first implementations and polyfills hopefully soon. Thanks to everybody involved in the process!

Temporal: Scope Reduction

#66 · 2024-07-08 · JavaScript, Temporal

The meeting of Ecma TC39 in June 2024 discussed the Temporal proposal that has been in the works for a long time by now. Unfortunately, the discussion was not about being able to publish it soon. Instead, a scope reduction was proposed. Apparently, implementors (Google, Apple, Mozilla) have reservations about the proposal's scope size and complexity.

Further information and the exact discussions that took place presumably were not publicly available so far. But now, there is an open PR to add these to the usual repository that contains TC39 meeting notes.

Conclusion: The committee reached consensus that the Temporal proposal is apparently too big. Some parts of it need to be stripped for now and may be reconsidered in follow-up proposals. Specifically, the following parts will be removed from the current proposal:

Let's hope that at least the subset of Temporal can be published as a standard soon. Ideally with ECMAScript 2025.

ECMAScript 2024 published

#65 · 2024-06-26 · JavaScript

ECMAScript 2024 has been released.

The following proposals have reached stage 4 and are part of ECMAScript 2024:

Most of these new features have already landed in all the important browser engines.

Vertical Centering with CSS

#64 · 2024-03-09 · CSS

Vertical centering with CSS has been easy for a couple of years now. Both flexible box layout and grid layout support it. Just use them together with the align-content property.

div {
  display: grid; /* or flex */
  align-content: center;
}

And it is about to become even simpler. The specification of the align-content property was not limited to flexbox and grid layout, but it also included block containers. No browser supported that so far, though. But that is about to change as Firefox 125, Safari 17.4, and Chrome 123 (will) support it. Supporting browsers will vertically center even without defining a display property.

div {
  align-content: center;
}

For backward compatibility (and as feature detecting this particular behaviour is currently not possible in a sensible way), it is still recommended to only use it together with flex or grid for the foreseeable future.

DMA and Apple

#63 · 2024-02-28 (updated 2024-03-06) · Apple

The Digital Markets Act is the EU’s law to make the markets in the digital sector fairer and more contestable.

The Digital Markets Act (DMA) establishes a set of clearly defined objective criteria to identify “gatekeepers”. Gatekeepers are large digital platforms providing so called core platform services, such as for example online search engines, app stores, messenger services. Gatekeepers will have to comply with the do’s (i.e. obligations) and don’ts (i.e. prohibitions) listed in the DMA.

Source

Apple is trying to "comply" with the DMA by being even more anti-user than before. They are making both third-party app stores and other browser engines as painful to use as possible. And in addition they are killing Progressive Web Apps on iOS to keep their own App Store the only viable option. That is obviously not in the interest of the DMA at all.

If Apple wants to ruin user trust and face penalties from the EU, they should continue with this nonsense. iOS is not a decent platform anymore. Apple has proven that they are actively user-hostile, and they are looking for a conflict with the EU. Let the DMA win.

Update 2024-03-05, 2024-03-06: It seems Apple got too much—well deserved—negative press on this. They reversed their course and do not want to kill Progressive Web Apps anymore. But they still want to cripple them by forcing PWAs to build on WebKit. Hence, they are and will continue to be severely lacking as WebKit has been notoriously bad at PWAs for years. And that is entirely on purpose. Apple being Apple continues to spit into the face of the EU Commission.