
Safari Technology Preview 249: CSS συναρτήσεις, Temporal και WebGPU
Το Safari Technology Preview 249, που δημοσιεύθηκε από τη WebKit στις 29 Ιουλίου, είναι μια ουσιαστική έκδοση δοκιμών για ομάδες που θέλουν να ελέγξουν εγκαίρως την πορεία των web standards. Δεν πρόκειται για ένα μεμονωμένο «μεγάλο» feature: συγκεντρώνει νέες CSS συναρτήσεις, το Temporal στη JavaScript, WebGPU subgroups και βελτιώσεις στο Web Inspector. Για έναν developer, η πρακτική αξία είναι ότι μπορεί να μεταφέρει πειράματα συμβατότητας από θεωρία σε πραγματικό test plan πριν οι δυνατότητες αυτές φτάσουν σε σταθερό Safari.
Οι CSS αλλαγές που αξίζει να ξεχωρίσετε
Η πιο πυκνή ενότητα του release αφορά CSS. Το attr() αποκτά υποστήριξη, μαζί με custom functions μέσω του @function, τη συνάρτηση if() και το calc-mix(). Προστέθηκαν επίσης outline-offset: inset και justify-self για block-level boxes, ενώ ορισμένα χαρακτηριστικά, όπως wrap-inside, text-decoration-inset και content στο ::marker, δηλώνονται ως preview.
Αυτό δεν σημαίνει ότι μια παραγωγική εφαρμογή πρέπει να αλλάξει αμέσως τα styles της. Σημαίνει όμως ότι οι design systems μπορούν να ετοιμάσουν μικρά, απομονωμένα demos: ένα component που χρησιμοποιεί attr() για παρουσίαση data attributes, ή μια CSS custom function που κάνει έναν επαναλαμβανόμενο υπολογισμό πιο ευανάγνωστο. Κρατήστε αυτά τα demos πίσω από feature queries όπου υπάρχει κατάλληλη κάλυψη και ελέγξτε την τελική συμπεριφορά στους browsers που υποστηρίζει το προϊόν σας.
Η έκδοση διορθώνει και αρκετά σημεία που συναντούν συχνά οι frontend ομάδες: υπολογισμούς CSS Grid, clip-path, scroll-driven animations, scroll snapping και κανόνες view transitions. Για προϊόν με απαιτητικό responsive layout, τα fixes είναι εξίσου σημαντικά με τα νέα API, επειδή μειώνουν την ανάγκη για browser-specific workarounds που αργότερα γίνονται τεχνικό χρέος.
Temporal: δοκιμή χωρίς να υποθέτετε ακόμη καθολική διαθεσιμότητα
Το JavaScript Temporal εμφανίζεται στο Safari Technology Preview 249. Η προσθήκη έχει ιδιαίτερο ενδιαφέρον για εφαρμογές που χειρίζονται ημερομηνίες, ζώνες ώρας και business rules, όπου το παλιό Date συχνά οδηγεί σε ασαφείς μετατροπές. Η σωστή κίνηση τώρα είναι να απομονώσετε τη λογική χρόνου πίσω από μία δική σας μικρή abstraction και να γράψετε tests για τα κρίσιμα σενάρια: αλλαγή θερινής ώρας, ημερομηνίες χωρίς ώρα και μετατροπές ανάμεσα σε ζώνες.
Μην το χρησιμοποιήσετε ως δικαιολογία για να αφαιρέσετε polyfills ή fallback paths χωρίς έλεγχο του πραγματικού browser matrix. Ένα preview browser δείχνει την κατεύθυνση της πλατφόρμας· δεν αλλάζει μόνο του τις απαιτήσεις υποστήριξης της εφαρμογής. Αν όμως η ομάδα διατηρεί κοινό date-time utility, τώρα είναι καλή στιγμή να σχεδιάσει tests που θα επιτρέψουν καθαρή μετάβαση όταν η διαθέσιμη κάλυψη γίνει επαρκής.
WebGPU και εργαλεία εντοπισμού προβλημάτων
Η WebKit αναφέρει υποστήριξη για subgroups στο WebGPU. Τα subgroups δίνουν σε κατάλληλα workloads έναν τρόπο να εκμεταλλεύονται συνεργασία μέσα σε μικρότερα σύνολα GPU invocations. Δεν είναι feature για κάθε web application ούτε υπόσχεση αυτόματης επιτάχυνσης. Για ομάδες που ήδη έχουν WebGPU prototypes, είναι σήμα να προσθέσουν Safari Technology Preview στο εργαστήριο συμβατότητας και να μετρήσουν ξεχωριστά την ορθότητα, τα fallback paths και την απόδοση.
Παράλληλα, το Web Inspector αποκτά range mappings στα source maps και ανά-element events Layout Invalidated. Τα πρώτα βοηθούν όταν compiled bundles και πηγαίος κώδικας δεν έχουν απλή αντιστοίχιση γραμμής προς γραμμή. Τα δεύτερα μπορούν να δώσουν καθαρότερη εικόνα για το εύρος ενός layout invalidation. Δεν υποκαθιστούν profiling σε αντιπροσωπευτικές συσκευές, αλλά μειώνουν τον χρόνο που χάνεται στην αρχική διάγνωση.
Τι να κάνετε αυτή την εβδομάδα
Ξεκινήστε με ένα μικρό branch συμβατότητας, όχι με refactor της παραγωγής. Επιλέξτε ένα CSS experiment, ένα date-time test suite και, μόνο αν το προϊόν χρησιμοποιεί GPU workloads, ένα WebGPU smoke test. Καταγράψτε ακριβώς ποιο αποτέλεσμα περιμένετε και τρέξτε τα ίδια checks σε σταθερούς browsers. Έτσι η ομάδα ξεχωρίζει γρήγορα ένα πραγματικό interoperability issue από μια διαφορά preview implementation.
Ένα τέτοιο demo είναι και χρήσιμο δημόσιο δείγμα δουλειάς: στο άρθρο μας με ιδέες για developer portfolio μπορείτε να βρείτε έναν τρόπο να το μετατρέψετε σε μικρό, τεκμηριωμένο project με σαφές πρόβλημα και μετρήσιμη επαλήθευση. Αποφύγετε όμως screenshot-driven συμπεράσματα. Βάλτε στο repository το browser/version, τα test cases και τα fallback κριτήρια ώστε το πείραμα να παραμένει χρήσιμο και μετά την επόμενη preview έκδοση.
Η έκδοση 249 διαθέτει και διορθώσεις σε accessibility, service workers, WebRTC, WebDriver και Digital Credentials. Για αυτό ο καλύτερος τρόπος ανάγνωσης δεν είναι να κυνηγήσετε κάθε bullet της λίστας. Χαρτογραφήστε πρώτα τα features στα οποία βασίζεται ήδη το προϊόν σας και ελέγξτε μετά τα αντίστοιχα fixes. Η επίσημη ανακοίνωση λέει καθαρά ότι το build είναι διαθέσιμο για macOS Golden Gate και macOS Tahoe, ενώ όσοι το έχουν ήδη εγκατεστημένο ενημερώνονται από τις ρυθμίσεις λογισμικού.
So…
Το Safari Technology Preview 249 δίνει αρκετούς λόγους για στοχευμένο testing: οι CSS συναρτήσεις και το Temporal επηρεάζουν καθημερινό application code, ενώ τα WebGPU και Web Inspector additions αφορούν πιο εξειδικευμένες ομάδες. Η ασφαλής στάση είναι προεπισκόπηση, isolation και automated regression tests — όχι βιαστική εξάρτηση από preview APIs. Με αυτό το πλάνο, η ομάδα μπορεί να κερδίσει χρόνο στη συμβατότητα χωρίς να μετατρέψει μια έκδοση δοκιμών σε production ρίσκο.
















