21 Awesome Web Features you’re not using yet

Поділитися
Вставка
  • Опубліковано 28 гру 2024

КОМЕНТАРІ • 1 тис.

  • @Fireship
    @Fireship  Рік тому +357

    Does your app need authentication? Check out Clerk - their platform is super impressive clerk.com

    • @skifli
      @skifli Рік тому +4

      Ima just grab first reply rq

    • @jasontfrom713
      @jasontfrom713 Рік тому

      @@skifli no I'm first

    • @KWifler
      @KWifler Рік тому +1

      It takes even less time to say uwu ! ooowooo!

    • @Vampirat3
      @Vampirat3 Рік тому

      Now That's what I'm TALKIN BOUT !!!!!
      Fireship be 🔥

    • @truthfuturist
      @truthfuturist Рік тому

      Can make a pwa with teleporthq in magic minutes 🪄

  • @armoredvortex
    @armoredvortex Рік тому +4095

    Fireship rolling out videos so fast, even javascript frameworks can't keep up.

  • @unlimitedbytes-random
    @unlimitedbytes-random Рік тому +1093

    0:00 Intro
    0:30 Native HTML Dialog
    1:20 Sponsor
    2:03 Popover
    2:29 WebGPU
    3:11 Container Queries
    4:00 Color-Mix
    4:28 CSS Nesting
    4:44 Color Fonts
    5:11 Vitals Extension
    5:35 Array. prototype. at
    5:57 Deep Copy
    6:56 TransformStream
    7:01 Import maps
    7:06 Json Imports
    7:12 Transform Props
    7:19 Trig Functions
    7:26 Initial Letter
    7:32 Viewport Units
    7:38 :focus-visible
    7:45 Inert Prop
    7:54 View Transition API
    8:02 Animation-Timeline
    8:14 Outro

    • @tryskacz
      @tryskacz Рік тому +42

      6:52

    • @justamanofculture12
      @justamanofculture12 Рік тому +26

      Not all heroes wear capes, some are named random.

    • @UselessBraincells
      @UselessBraincells Рік тому

      Ffffffff I'll just use markdown now 😂

    • @Harmxn
      @Harmxn Рік тому +4

      @@tryskacz 7:23 Circumsize

    • @imdanielmartinez
      @imdanielmartinez Рік тому +10

      UA-cam should add a save comment button before other comments bury this one.

  • @professordragon
    @professordragon Рік тому +380

    This is insane, I can't wait to use all of these features in 9 years when they're fully implemented and everyone's browser is updated

    • @IIARROWS
      @IIARROWS Рік тому +33

      This...The real problem.

    • @zebralion6396
      @zebralion6396 4 місяці тому +1

      All the major ones support it, filter out the non supported browers on connection and direct them to a site that’s compatable

  • @heyitsdross
    @heyitsdross Рік тому +868

    2:54 "... and the WebGPU version is far more majestic!"
    Me, who sees no difference: "Oh, yes indeed!"

    • @mahmoudayoub9168
      @mahmoudayoub9168 Рік тому +41

      I thought the same lol

    • @chazbertino6102
      @chazbertino6102 Рік тому +48

      Majestic may not have been the best word... At least for the example, but webGPU will offer MAJOR performance gains and new abilities such as ray tracing.

    • @komi5018
      @komi5018 Рік тому +37

      me watching in 240p: "Oh, yes indeed!"

    • @HorstKirkPageKian
      @HorstKirkPageKian Рік тому +46

      Pretty sure it was meant kind of sarcastic.

    • @preston7376
      @preston7376 Рік тому +8

      @@chazbertino6102 webGPU doesnt have support for hardware raytracing right now

  • @ysmdev
    @ysmdev Рік тому +106

    TL;DR
    1. 0:32 - element
    2. 2:08 - popover attributes
    3. 2:30 - WebGPU
    4. 3:12 - container queries
    5. 4:00 - color-mix
    6. 4:28 - CSS Nesting
    7. 4:46 - Color Fonts
    8. 5:12 - Web Vitals Extension
    9. 5:37 - Array.prototype .at
    10. 5:59 - Deep Copy (structuredClone)
    11. 6:57 - TransformStream
    12. 7:02 - import maps
    13. 7:06 - json imports
    14. 7:12 - transform props
    15. 7:19 - trig functions
    16. 7:26 - CSS initial-letter property
    17. 7:33 - viewport unit (svh, lvh)
    18. 7:39 - :focus-visible
    19. 7:45 - inert attributes
    20. 7:54 - View Transitions API
    21. 8:03 - animation-timeline

    • @Dev-Siri
      @Dev-Siri Рік тому +7

      this.replace("TL;DR", "TL;DW");

    • @Crossfirev
      @Crossfirev Рік тому

      ​@@Dev-Siri nice

    • @goodshiro10
      @goodshiro10 Рік тому +3

      after 10, fireship went too fast just reading the names of the features lmao

    • @SirWolf2018
      @SirWolf2018 Рік тому +2

      It should be called ToC, not TL;DR. The latter implies that you summarize what is said, this ain't no summarization. This is just the table of contents.

    • @vishnusidharth9309
      @vishnusidharth9309 Рік тому

      99 likes... Hmm i'm going to fix it.
      100 now! 🎉🎉

  • @raz0229
    @raz0229 Рік тому +216

    06:48 I wouldn't be surprised if _structuredClone_ is basically just:
    const structuredClone = (object) => JSON.parse(JSON.stringify(object))

    • @anj000
      @anj000 Рік тому +64

      That would be hilarious, but (un)fortunately it is not the case.
      structuredClone has an ability to parse Maps, Sets or Dates for example, that would crash the simple JSON hack.

    • @Zhuclam
      @Zhuclam Рік тому +9

      Also functions. The JSON hack doesn't work for them

    • @ctdesing
      @ctdesing Рік тому +1

      why can't you clone by: newObj = { ...oldObj } ?

    • @conan3211
      @conan3211 Рік тому +15

      The object spread only works on the first level, If oldObj has properties which are non primitives e.g. objects, dates, functions, arrays then those would still point to the same memory in newObj as in oldObj

    • @rand0mtv660
      @rand0mtv660 Рік тому +18

      @@ctdesing it's explained in the video starting from 6:15

  • @JC-jz6rx
    @JC-jz6rx Рік тому +539

    That structured clone for objects one is definitely one I’ll be using a lot. And will probably help new devs. It’s not as hard now that I know what reference types are. But at the beginning I remember having a hard time tracking down bugs due to me changing objects directly

    • @Muaddibkhan
      @Muaddibkhan Рік тому +2

      Same bruh

    • @Henry14arsenal2007
      @Henry14arsenal2007 Рік тому +21

      I cant believe JS didnt have a proper copy semantics all this time, JS bad I guess.

    • @peanut3645
      @peanut3645 Рік тому +39

      Why no Object.clone but global function, meh.

    • @Hasnain1F
      @Hasnain1F Рік тому +5

      @@peanut3645 Yes, I have worked in WordPress/PHP and Vue among other things. I really dislike how you have to keep global functions and variables in your mind.

    • @ChamplooMusashi
      @ChamplooMusashi Рік тому +8

      Don't forget to footgun yourself by cloning an object with a custom prototype and spend a week debugging random bullshit

  • @rendon2959
    @rendon2959 Рік тому +86

    Best addition for me is #17 with the new viewport units. Implementing a fullscreen design that considers the toolbar is actually possible now.

  • @BlueJDev
    @BlueJDev Рік тому +164

    Behind the scenes:
    Export function structuredClone(input){
    Return JSON.parse(JSON.stringify(input));
    }
    "Now it's not a hack."

    • @FaultyTwo
      @FaultyTwo Рік тому +9

      **bruh sound effect**

    • @kryyto6587
      @kryyto6587 Рік тому +3

      Probably not too far of the truth

    • @cyber_chris
      @cyber_chris Рік тому +29

      just in case anyone believes it, this is of course not true and the function does not behave in exactly the same way

    • @kryyto6587
      @kryyto6587 Рік тому +2

      @@cyber_chris obviously

    • @lucasa8710
      @lucasa8710 Рік тому +1

      javascript be like....

  • @TheJort123
    @TheJort123 Рік тому +101

    Very nice to be kept up-to-date this way, please do more of this :D

  • @abeidiot
    @abeidiot Рік тому +84

    can't wait to use these new html features and find 99% users never updated their browser

    • @ZoharYosef
      @ZoharYosef Рік тому +38

      That's why modern browsers update themselves without even asking you

    • @nullbeyondo
      @nullbeyondo Рік тому +1

      @@ZoharYosef
      True, my browser forced me to update a few days ago lol.

    • @rumfordc
      @rumfordc Рік тому +3

      @@ZoharYosef
      turns out malware had it right all along!

    • @theodorealenas3171
      @theodorealenas3171 Рік тому +2

      This is why I don't want to be obsessed over new features, it's unethical in a way for the client.

    • @BusinessWolf1
      @BusinessWolf1 Рік тому +2

      You can't just not innovate because some people don't want to keep up. They'll learn to keep up.

  • @SpaceChicken
    @SpaceChicken Рік тому +1

    The new viewport units that respect the toolbar make me so happy, I could cry.

  • @jediampm
    @jediampm Рік тому +22

    Hi @fireship, a correction: deep copy, more specific struturedClone is browser / window specific method, not part of ES / ECMAScript. As such will not be available in js runtime like nodejs, they have to implement.
    And this feature exist and available to all browser almost more than two yrs, because already use it last yr.
    And others few js things mention may also be browser / client specific too. ;)
    And you forget to mention another cool feature very useful also like dialog, which is details ( to mimic accordions in booostrap), this exist since 2020 and already use in my website.

  • @somerandomguy001
    @somerandomguy001 Рік тому +20

    just got a job at google after showing your certificate 🙌🙌
    I'm very grateful. now I just need to learn html

    • @DemPilafian
      @DemPilafian Рік тому +1

      *HTML is the best programming language ever!*

    • @UKnowIfUKnow
      @UKnowIfUKnow Рік тому +1

      That was you? I just LOST my job at Google because some schmuck showed up with one of those damn certificates! Thanks a lot.

  • @BlurryBit
    @BlurryBit Рік тому +26

    One of the rare channels (I got two or three max on youtube lol) that when I start watching, I first pause, take a notebook, like the video, then unpause and start watching. ❤
    To be honest it took me quite some time to get used to these fast paced videos coz I am a slow learner. But it ultimately grew up on me and these days, I would rather watch these “concentrates” rather than fluffy and gimmicky ones. I just pause/unpause/rewind/slow down etc.. 😂
    Seriously, I can’t thank you enough for your contributions man. Just know that there is atleast one person who likes these. Haters gonna hate anyway.

    • @tarcisiosmelo
      @tarcisiosmelo Рік тому +1

      You can slow down the video.

    • @BlurryBit
      @BlurryBit Рік тому

      @@tarcisiosmelo wow, yes I guess.

  • @mohammadimran2219
    @mohammadimran2219 Рік тому +28

    If I hadn't subscribed and enabled notifications for Fireship, I would have definitely learned about these Web features months later.

  • @TelmaFrege
    @TelmaFrege Рік тому +9

    The first one got me crying of happiness. Building modals was always so annoying and time consuming! I’m excited about many of these new features!

  • @KrutonPL
    @KrutonPL Рік тому +95

    There's also those non-mutating functions of arrays such as .toSorted() or .toReversed() that do the same as the equivalent but they make a full copy of the object

  • @bruh-qi7ue
    @bruh-qi7ue Рік тому +13

    CSS Nesting is actually so sick because it is so needed LMFAO

    • @ludwig2345
      @ludwig2345 Рік тому +2

      Hell yeah, it's fucking amazing.
      Nesting was the main reason I used SCSS.

  • @devsDojo
    @devsDojo Рік тому +4

    The only UA-cam channel so far where I fear if I need to slow down the playback speed.
    Anyway, thanks for keeping us updated and I love your video styles. ❤

  • @michaelandersen8570
    @michaelandersen8570 Рік тому +1

    Tak!

  • @treebeard2416
    @treebeard2416 Рік тому +52

    I always thought json imports using asserts keyword was supported everywhere but I guess it's supported by only chrome. Excited about view transitions api, been waiting for it and hopefully css-intrinsic-size and content-visibility get major support so we can finally get rid of virtualized tables just like we did with dialog and need for js based modals.

  • @scienc3tv
    @scienc3tv Рік тому +3

    if you were asking what the arabic text at @05:06 means:
    لما كان الإعتراف بالكرامة المتأصلة في جميع
    it translates to: for what was the recognition of the inherent dignity of all
    (it's incomplete sentence tho)
    thank you :D

  • @rubennijhuis
    @rubennijhuis Рік тому +100

    I wonder how libraries will be updated with these new web standard features. I use certain modal libraries for example and hope they will either not be needed or be way smaller as they won't need to recreate a lot of the features. Could you make a video on when to write it yourself vs using a library?

    • @YuriG03042
      @YuriG03042 Рік тому +25

      just use a maintained library, they will update eventually and you won't have to rewrite your code. they might already handle accessibility for you now, which you might just miss if you attempt to implement the new stuff yourself. Libraries also tend to implement progressive development, which will show the new stuff on supported browsers and the old stuff on the rest, handling a lot of the boring logic for you

    • @aayush_karna
      @aayush_karna Рік тому +3

      Third-party libraries like modal, tooltip, accordion, ... became popular because they handled tedious things like animations and accessibility (keyboard friendly, screen reader/SEO friendly, not blocking the main thread, user preferences like reduced motion, dark/light theme, touch friendly). The problem with it was that they gave very little to no configuring on how it looks and feels or if it matches the project theme. Now, with new web standard features, we can build accessible web components with cool animations on our own that are highly customizable at the same time. You can build your own components once and use them across multiple projects.

    • @TheQuinn50
      @TheQuinn50 Рік тому +4

      Hope so, biggest issue ive found with the native dialog tag is the fact it doesn't use z-index it uses the new "Top layer" system and as such most component libraries who still use z-index for dropdowns and similar don't work at all with the new dialog component as they'll just show up under the dialog. Otherwise I think it's a nice feature.

    • @TesterAnimal1
      @TesterAnimal1 Рік тому

      Won’t ever work. Nothing can go on top.

  • @helloimtim
    @helloimtim Рік тому +28

    Container queries are a huge win! Way overdue. Unfortunately, they have a ways to go. Right now they are a challenge to work with within web components and still require Google's polyfill which Google recently abandoned. FireFox support is also iffy.

    • @whatsanimesh
      @whatsanimesh Рік тому

      Polyfill is superseeded by Lit

    • @helloimtim
      @helloimtim Рік тому +1

      @@whatsanimesh Thanks - Lit is great for Web Component development, but it doesn't solve the CSS Container Query issue

  • @stefanm3280
    @stefanm3280 Рік тому +16

    This sounds awesome. Many of the CSS improvements remind me of Sass. And a lot of the js improvements remind me of lodash.
    Edit: Thank you for a gpt-free video.

  • @roid1510
    @roid1510 Рік тому +1

    Having dealt with popovers and dialogs lately, im so happy to see these additions

  • @Robin_Goodfellow
    @Robin_Goodfellow Рік тому +9

    I love seeing native JS and HTML absorbing framework features. Half of the reason that JS frameworks experience so much churn is that they're constantly trying to make up for the lack of native features.

  • @outis99
    @outis99 Рік тому +5

    It's insane that it took so long to get those new viewport units, I remember I used to do such weird hacks and still do to fix this issue on mobile

  • @jthoward
    @jthoward Рік тому +4

    Something new that’s gonna be pretty cool is HTTP’s new QUERY method

  • @javadmnjd
    @javadmnjd Рік тому

    the timing for dialog was perfect for me, didn't know it even existed, now I'm gonna use it! thanks jeff!

  • @peterszarvas94
    @peterszarvas94 Рік тому +2

    Fun fact, in my language (Hungarian), we say "double v" instead of "double u". However, for a url, we say "v". Huge time saver. 🤯

    • @jocospeed98
      @jocospeed98 Рік тому +1

      Pont ezt akartam kommentelni lol

  • @karanspringboard
    @karanspringboard 7 місяців тому +1

    Crazy how there's a dialog feature! My website's Modal is always a pain to deal with, with z-index bugs among other things.Will use this soon.

  • @MasayaShida
    @MasayaShida Рік тому +6

    Ok somehow that mobile toolbar visibility css thing is what i see as most exciting

    • @bryku
      @bryku Рік тому

      Css has been lacking, many of these things have been requested for 10+ years.
      I remember in 2007 reading a book in the library that talked about how css needs nested styles...
      Mobile has been pretty difficult with every device being different and js d8dnt really make it better sometimes.

  • @PaulGaida69
    @PaulGaida69 Рік тому

    Thanks!

  • @truvc
    @truvc Рік тому +3

    My favorite thing about the dialog element is native focus trapping

  • @bryku
    @bryku Рік тому +7

    Finally, some good css updates!!!
    I have been waiting for containers and nested css!
    The new sizes are good to, mobile was always a pain to deal with the bars.

  • @kwe4117
    @kwe4117 Рік тому

    Bruh, I was about to create a custom modal for a project and came across this video. You are a champion amongst men.

  • @sevdalink6676
    @sevdalink6676 Рік тому +10

    I remember writing my own deepcopy function using recursion to create a decoupled new object.
    JS has some really stupid holes in the development tooling. Deepcopy and the last array element accessing are great examples.

    • @illyias
      @illyias Рік тому

      It's all so shit though. Anyone have a clue on why they didn't implement the array[-1] syntax, and rather opted to add a new .at() method to every array?

    • @nandanreddy
      @nandanreddy Рік тому

      @@illyias .findIndex() returns -1 if it can't find the element we are looking for. I don't know for sure but that might be the reason.

    • @bensge1
      @bensge1 Рік тому +1

      @@illyias If they changed the behavior of the existing syntax (array subscript), that would break many websites and libraries that rely on the fact that currently array[negative_number] returns undefined. Unfortunate situation, but you can only ever add new APIs, never change the behavior of APIs that are already out in the wild.

  • @williamikennanwosu
    @williamikennanwosu Рік тому +2

    Very engaging, high quality videos Fireship! You are doing great!

  • @TheDorac1
    @TheDorac1 Рік тому +4

    I absolutely love your content. I am a passionate front-end web developer and this is fantastic!

    • @princeadigwe3764
      @princeadigwe3764 Рік тому

      You are passionate about the frontend. I have never heard anyone say that. What particularly draws you... Is it the writing of complex algorithms or the css or js

    • @the-iter8
      @the-iter8 Рік тому +1

      ​@@princeadigwe3764well, now you've heard it. First of all not a lot of people are actually "passionate" they say for some reason to convince their brain maybe. Secondly, yes people can be actually passionate about frontend development, for me personally its about how you can build your own stuff, easily and quickly.

    • @dipanjanghosal1662
      @dipanjanghosal1662 Рік тому

      @@princeadigwe3764 I mean I can understand people enjoying building shiny UI and front end of web pages/SPAs

    • @TheDorac1
      @TheDorac1 Рік тому

      @@princeadigwe3764 I've been a developer on the front-end for a good 15 years. At first, i was given a psd document and told to develop a functional php website that was compatible on all browsers at the time, including the dreaded IE8. Despite the frustration, there was a level of satisfaction that it finally worked. That, and using JS / Jquery to make the page do something sparked interest. I've enjoyed continuing to learn new web technologies, libraries and frameworks, new css features, etc. There's something magical about creating a good user experience (although i am not a fan of the actual designing aspect) and using (and understanding) different front end libraries and frameworks to achieve it.
      Also, channels such as Fireship do a really good job at getting one excited to trying new things and exploring new territory.

  • @realdaly
    @realdaly Рік тому +2

    I asked for a sticky pseudo class in the official Google Chrome Developers channel, this will be useful to check if an element is sticky or not and apply styles accordingly. Surprisingly Una Cravets replied and said sticky will be the first state implemented for state queries

  • @peachezprogramming
    @peachezprogramming Рік тому +6

    I’m a new Web Developer and feel a bit overwhelmed by the massive amount of stuff I need to learn

    • @TheScoobysteve
      @TheScoobysteve Рік тому +8

      Welcome to the club. That feeling does not do anything other than worsen - embrace it. There's always going to be orders of magnitude more things you don't know than things you do.

    • @dafarii
      @dafarii Рік тому +6

      Thankfully you don't need to know it all.

    • @lorddesert
      @lorddesert Рік тому +1

      Same here. Just keep going and do stuff you like the most. xD

    • @IvanRandomDude
      @IvanRandomDude Рік тому +1

      Now imagine how would you feel if you actually picked something more challenging

    • @cucumberwithketchup
      @cucumberwithketchup Рік тому

      Tbh, you don't need to learn all the stuff available out here. In most cases as web dev you will write pretty simple things, but will have to fuck with other unrelated to this stuff (like not working third party tool, random shitty bug from the internal library that you are not allowed to touch or fix, etc.). And keep in mind that most businesses will require you to use old-fashioned things to achieve maximum support for the old browsers.
      And also let's not forget that nowadays you can use AI tools to ask how to do things in modern way, like bing, phind or perplexity AI powered search engines.

  • @JakobEriksen
    @JakobEriksen Рік тому +1

    Inert is such an awesome feature in terms of accessibility - it can completely hide entire sections of e.g. a navigation without having to toggle tabindex on every single focusable element... Also one of the cool things included in Dialog (it will give you inert out of the box)

  • @yashkhd1100
    @yashkhd1100 Рік тому +5

    I'm wondering how you able to track all these developments and roll out videos so quickly. A video around keeping track of all these things would be great for Fireship Community..!!

  • @taiwojolomi
    @taiwojolomi Рік тому

    Almost forgot that this one of the most awesome channels on UA-cam.. Fireship 🔥🔥

  • @Jakob-mf8us
    @Jakob-mf8us Рік тому +4

    5:20 Nothing to see there, just normal goat weed.

  • @codyrap95
    @codyrap95 Рік тому +1

    So excitiing, can't wait to use these new features in 2030 when all the people will have (maybe) updated their browsers/webviews.

  • @_sevelin
    @_sevelin Рік тому +6

    HTML got a huge update!

  • @BrianClincy
    @BrianClincy Рік тому

    The sarcasm gets me everytime... The first Character is awesome!!! Thanks for the info

  • @Eren_Sumer
    @Eren_Sumer Рік тому +3

    Love your content.

  • @quierodarmedealta
    @quierodarmedealta Рік тому

    6:41 "but I am happy to report that life doesn't need to be this way" 🤣🤣🤣 We love you Jeff! 😄

  • @HartleySan
    @HartleySan Рік тому +4

    I remember a time (not that long ago) when all bleeding-edge features were just "fantasy web" things with the hope that some of the features may actually be useful in 2-3 years. With Chrome, Edge and Firefox (and Mobile Safari to a lesser extent) staying pretty up to date with this stuff though, it all feels usable now or in the near future.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 Рік тому +3

      The death of Microsoft Internet Explorer has been very liberating, shall we say.

  • @chetangiradkar
    @chetangiradkar Рік тому

    This(dialog) is (was) an actual problem I was solving. Glad I subscribed to this channel
    This video is a gem

  • @Dev-Siri
    @Dev-Siri Рік тому +19

    I like how JS and CSS are becoming more of "something to avoid" while HTML is just getter better & better.
    Can't wait for the day where JS & CSS bundles are at 200kb & the actual HTML document is 1MB (Brotli)

    • @PanosPitsi
      @PanosPitsi Рік тому +13

      its always been like this why make a hacky js function that breaks accessibility and iphones instead of using the correct html tag

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 Рік тому +1

      On the contrary, these new features are increasingly tied into CSS.

  • @cutelileanimals
    @cutelileanimals Рік тому +1

    Wow, so much new features making coding easier, Thanks Fireship!

  • @shoppy-wizard
    @shoppy-wizard Рік тому +3

    Fireship Should be CEO of Space X.

  • @shoppy-wizard
    @shoppy-wizard Рік тому +4

    Kids drink Tea 🍵 in Morning
    Men drink Coffee ☕
    Legends drink Beer 🍺
    Valademir Putin drinks Vodka 🍷
    Fireship (🔥 🚢 ) drinks this 5:20 📯 🐐 ☘️

  • @berkayatatop1181
    @berkayatatop1181 Рік тому

    Easily one of the most useful videos that I watched in a while.

  • @refuzion1314
    @refuzion1314 Рік тому +3

    Why does FireshipX actually look good lol

  • @grandtheftautoexpert2040
    @grandtheftautoexpert2040 Рік тому +6

    I am going to be honest and say I saw absolutely no difference between the webgl and webgpu stuff you showed 😅

  • @rickdg
    @rickdg Рік тому +3

    Can't wait for all of these to come to Safari in 2030, but not before a few of them silently break with an OS update. Isn't web development fun?

    • @fakenameforgoogle9168
      @fakenameforgoogle9168 Рік тому +1

      Safari supports all of them except WebGPU and view transitions -- firefox is actually the main one lagging behind

  • @DriftingDraftsman
    @DriftingDraftsman Рік тому

    7:33 Made my day. Just added mobile support for my web game. It's only played in landscape mode, the toolbar allowing you to scroll bothered me to no end.

  • @renzotorr537
    @renzotorr537 Рік тому

    i've heard about most of these but it's amazing to know that they're finally supported everywhere

  • @andrewkolansky5348
    @andrewkolansky5348 Рік тому +1

    Love this video. Thanks for making it!

  • @zeldaplayergl11
    @zeldaplayergl11 Рік тому

    Fireship is definitely excited about everything... The first 10 were slow and in detail... But the rapid fire others caught me off guard 😂

  • @loneshadow0844
    @loneshadow0844 Рік тому

    Fireship, you videos are helping me so much complete a Coding Bootcamp. I can understand more easily, even though its only week 6 of 10

  • @Neoh53
    @Neoh53 Рік тому

    OMG that's right ! You can use the stringify + parse to deep copy !
    No more custom recursive copy function ! Thank you ! It might seem basic but a game changer for me ! I will give this old forgotten project a new live !

  • @comaecod
    @comaecod Рік тому

    Great. I knew '-1' of the features mentioned. Lifesaver ♥

  • @maddsua
    @maddsua Рік тому

    Nah this channel is gold, and I wasn't even looking for copper

  • @DMrLeeds
    @DMrLeeds Рік тому

    Am I a developer of any sorts? Most definitely not. Am I mesmerized by these videos and find myself watching them more fully than my more mainstream interests. Definitely yes.

  • @ozzyfromspace
    @ozzyfromspace Рік тому

    Damn bro, that Clerk ad was actually really compelling. I use NextAuth rn, but I'm lowkey intrigued. Also, this video was fire(ship)!

  • @berrodev
    @berrodev Рік тому

    Dude the only difference between me and u is the animations i make and still i barely post 2 times a week, i am just amazed keep it up king!

  • @stevenleonmusic
    @stevenleonmusic Рік тому +1

    I love CSS nesting but my one criticism is simply that the old way does literally spell out the actual selector you can subsequently use in JavaScript to select that element or element set so if you use nesting you'll love it while you're writing CSS but when you go to do stuff in JavaScript you can't really copy/paste a long selector anymore. And maybe that's okay, maybe you should just refactor so you don't have "long" selectors anyway but it's a consideration.

    • @arjix8738
      @arjix8738 Рік тому +1

      who even copy pastes selectors from css to js?
      I can only imagine doing the reverse, writing the selector in the console and copying it to a css file
      but that only makes sense if you are either scraping a site, using a browser automation tool, writing a userscript/extension or just theming a site

    • @stevenleonmusic
      @stevenleonmusic Рік тому

      @@arjix8738 I've been a web developer for over a decade, I do it all the time. That's the entire power of CSS selectors, you can pinpoint specific elements for styling or manipulating with JS. If it wasn't an important feature why would anyone have bothered to engineer it to begin with? There's a reason the sizzle library was so popular/essential with jQuery. The HTML/CSS is often designed and written long before the JS and interactivity is even decided (at least where I work) so CSS selectors are usually going to be present before any scripts have even been written.

    • @SirWolf2018
      @SirWolf2018 Рік тому

      @@stevenleonmusic We could still have IDE support for copying the full CSS selector to clipboard.

  • @ReasoningBanking
    @ReasoningBanking Рік тому +1

    That's why a developer's job is to learn new things according to market!!!

  • @schneefackel7053
    @schneefackel7053 Рік тому +2

    Meanwhile, I'm still teaching CSS Grid and Vite to coworkers who still keep using Flexbox and Webpack for everything

  • @MrAbrazildo
    @MrAbrazildo Рік тому

    5:52, in C++: 1) just make your custom class 2) inherit the array 3) overload the operator [ ] or ( ). It's about 3 lines of code.
    8:18, what is a free job?

  • @krateskim4169
    @krateskim4169 Рік тому

    Thank you for the free certificate at the end man, I really appreciate it

  • @jamesfoo8999
    @jamesfoo8999 Рік тому

    "structuredClone" wow this was so needed!

  • @ishanraonka1338
    @ishanraonka1338 Рік тому

    As your regular viewer I never knew your 2nd channel existed. You might want to push it a bit more on this channel. Anyways heading over there rn for more content.

  • @youseffx1661
    @youseffx1661 Рік тому

    the King of web devolving programmers is talking right now

  • @igorlerinc3510
    @igorlerinc3510 Рік тому

    This channel is God sent. Such quality content , what I need

  • @carlhandy
    @carlhandy Рік тому

    Been waiting to be able to import json in js for yearssssssss. Excited about that one

  • @eyadsh3301
    @eyadsh3301 Рік тому +1

    YOU JUST BLOW MY MIND!!

  • @oretanbarnabas7768
    @oretanbarnabas7768 Рік тому +1

    Awesome.... 🎉 This is insightful.. lol, I am anxious... I feel the gush to start using these in my projects 😂

  • @mcpecommander5327
    @mcpecommander5327 Рік тому

    I’m probably going to use all the css ones when making my next CSS only web app

  • @MsMarmima
    @MsMarmima Рік тому +2

    Wow dialogue is a massive game changer!

  • @omorxfe
    @omorxfe Рік тому

    Been working on a website with lots of pop ups and the diolouge fewture is a game changer for me

  • @noonewhomatters8941
    @noonewhomatters8941 Рік тому

    3:11 that container feature is awesome

  • @shriharikulkarni07
    @shriharikulkarni07 Рік тому

    10th one is the most needed one. It took two freaking days for me to know and debug that issue of pass by reference in JS

  • @pwan3971
    @pwan3971 Рік тому

    Finally, one more certificate! thanks Fireship!

  • @RandomPlaythrough831
    @RandomPlaythrough831 Рік тому

    I love your videos man, it's always cool content that I actually don't know. It's fast but not overwhelming, and it's also funny. keep it up !

  • @kipchickensout
    @kipchickensout Рік тому

    that first one hit hard, i once wanted to make something because i barely ever do any web stuff, and thought "okay, so first I need a modal dialog, can't be hard right?"

  • @yash1152
    @yash1152 Рік тому

    timestamps took from @unlimitedbytes-random
    titles inspired from video at 0:22
    this is NOT targetted for youtube chapter timestamps - rather, an easy to grasp breakdown of features presented in this video
    == HTML ==
    0:30 1. HTML elem Modals: dialog
    with builtin JS methods, & backdrop pseudo element
    2:03 2. HTML attbr: popover
    to avoid using CSS :focus-within
    7:45 19. HTML prop: inert
    == WEB BROWSERS ==
    2:29 3. WebGPU
    4:44 7. Colorfonts
    5:11 8. Web vitals extension

    == CSS ==
    3:11 4. CSS Container Query:
    container-type @container
    4:00 5. CSS color-mix(): similar to LaTeX
    4:28 6. CSS Nesting
    7:23 14. CSS prop: Transform: translate, rotate, scale
    7:19 15. CSS fxn: Trig: calc( cos() )
    7:26 16. CSS prop: initial-letter (Drop Cap)
    7:32 17. CSS Viewerport units
    to accound for toolbars state
    7:38 18. CSS :focus-visible
    8:02 21. CSS: animation-timeline Linear Easing

    == JS ==
    5:35 9. JS: array.at(-1)
    5:57 10. JS Deep Copy: structuredClone()
    6:56 11. JS Piping fetch() via TransformStream()
    7:01 12. JS Import Maps
    7:06 13. JSON import modules
    7:54 20. JS: ViewTransitions API

  • @artu-hnrq
    @artu-hnrq Рік тому

    Being updated with a summary of newest web features is awesome! Thanks for that

  • @yash1152
    @yash1152 Рік тому

    7:12 7:14 the following ones are not limited to js; like the 14th to 18th are for css & so on.

  • @barte.sr.7744
    @barte.sr.7744 Рік тому

    LOVE THE TIPS VIDEOS. do more. and about your sponsor, cleark i think i gonna use it

  • @automateddude
    @automateddude Рік тому

    Cool fireship! these will help me a lot!!

  • @Harmxn
    @Harmxn Рік тому +1

    I am actually going to put that certificate on my LinkedIn even though I knew none of these :)