Building Resilient Frontend Architecture • Monica Lent • GOTO 2019

Поделиться
HTML-код
  • Опубликовано: 29 сен 2024

Комментарии • 122

  • @matthewfehskens2327
    @matthewfehskens2327 4 года назад +88

    "Technical debt on a subscription model" hits far too close to home

  • @thonEtMais
    @thonEtMais 3 года назад +30

    GOTO should make a GOBACKTO playlist with brillant talks that remain valid in time

  • @Sindoku
    @Sindoku 9 месяцев назад +5

    Monica’s presentation skills are some of the best I’ve ever seen in the tech field. This was a near flawless execution. I loved the content as well, very important and informative stuff she was talking about. I definitely took notes!

  • @samzmann
    @samzmann 2 года назад +15

    "Forbidden dependency test": the concept I've been dreaming about for years, but that I did not know where to look for information!!! Thanks, great talk.

    • @abdulkaderjeelani
      @abdulkaderjeelani 2 года назад +1

      Do look for architectural fitness functions. That is yet another name !

  • @shubhkarmansingh5668
    @shubhkarmansingh5668 3 года назад +5

    "Senior engineer or whatever it is we call 19 year olds these days"
    Killer joke 😂😂
    Now you have my attention !!!

  • @sirAlexander_T
    @sirAlexander_T 4 года назад +25

    Brilliant talk Monica! and great delivery! transcends front-end. Addresses software engineering in general.

  • @javascriptduniya1201
    @javascriptduniya1201 2 года назад +14

    Her presentation skills are awesome.

  • @kuti1643
    @kuti1643 Год назад +4

    Really like the part about internal dependency management, lot of people in the FE space don't think about this. I found that following a kind of modified version of domain driven architecture works very well for me. I also followed some "what can import from where" type of rules in the past, bu I wasn't aware of a tool that can actually enforce those rules in a JS project, very good to know that there is such a thing, will definitely use it next time.

  • @sergioavalos
    @sergioavalos Год назад +1

    I like the structure of the talk and content, but I'm not a fan of the passive-agressive and bit sarcastic tone from the speaker. Small note, I did enjoy it and will recommend it

  • @joaoforja893
    @joaoforja893 4 года назад +47

    Tremendous talk! All the principles presented are applicable not just to FE development, but to software development in general.

  • @DodaGarcia
    @DodaGarcia Год назад +2

    The component having an existential crisis cracked me up 😂 "Where am I??"

  • @dleblay
    @dleblay 14 дней назад +1

    I generally don't like these kind of talks, but this was a very good one

  • @harrypehkonen
    @harrypehkonen 3 года назад +6

    This is the fastest 30-minute video I have ever seen! Felt like ten minutes. Tops!

  • @coderitual_
    @coderitual_ 4 года назад +11

    Big plus for copy & paste code if needed. Bad abstraction is worse than no abstraction.

  • @arsenalprince4
    @arsenalprince4 4 года назад +11

    Oh wow, she is a good speaker. Love the talk!

  • @arpielen
    @arpielen 2 года назад +6

    Amazing talk! I wish I was there to give her an stand ovation 👏🏼

  • @danielt63
    @danielt63 4 года назад +7

    I remember when XP first introduced DRY to the world. One reuse meant copy/paste, two reuses meant copy/paste but seriously think about making a shared component. A shared component isn't a given until you have the third reuse opportunity. Somehow over the years, it changed to making the shared component on the first reuse instead of waiting for the second or third one.

    • @l-cornelius-dol
      @l-cornelius-dol 4 года назад +1

      DRY long predates XP. But the "third use" principle is a good one to balance things out.

  • @RajasegarChandiran
    @RajasegarChandiran 4 года назад +5

    "Migration is the name of the game. If you are not migrating in FE you're left behind." - l love that.

  • @HappyCheeryChap
    @HappyCheeryChap 4 года назад +17

    For like 10+ years I had the strong belief that "copy and pasting code means you're probably doing something wrong"... but yeah over time, I've come to the same realisation that sometimes it's just more sensible than creating abstracted dependencies. A lot of the abstractions I wrote in the past never even got used a 2nd time anyway.

  • @greenkodex
    @greenkodex 4 года назад +19

    I think she does herself a disservice with the "Frontend" label. Everything she's said applies to system wide architecture. Great talk!

    • @Ziviani
      @Ziviani 2 года назад +2

      Exactly! I'm not into frontend development but I'm glad I have "misclicked" on this. Great presentation.

  • @woodmelui326
    @woodmelui326 3 года назад +1

    Why rewrite the code? Sometimes, it is because "YOU THINK" you have a "BETTER" solution

  • @bitbrain3468
    @bitbrain3468 4 года назад +3

    Argh.. I wish there was a "here's what you should watch/view/read next" to go along with this. This is EXACTLY the kind of thing I need to know right now. So thank you for a wonderful talk Ms. Lent. Just wish I could find *more* :D

  • @dorinm4653
    @dorinm4653 2 года назад +2

    Over-engineering is huge problem in Software Development community. Great presentation and very good way to highlight those problems

  • @andreasfinke1801
    @andreasfinke1801 4 года назад +3

    Just before I watched this talk, I was just thinking about the folder structure of my project. Thanks for this.

  • @forsh2966
    @forsh2966 Год назад +1

    god damn, this was awesome

  • @zourdy697
    @zourdy697 3 года назад +1

    damn she is cool, I wish I had a co-worker like her

  • @lenaggar
    @lenaggar 4 года назад +7

    this an amazing talk ❤️

  • @ranjitadhana9532
    @ranjitadhana9532 4 года назад +3

    Very accurate and real observations. A very interesting talk. Thanks a lot. 🙋

  • @wusaby-ush
    @wusaby-ush Год назад +1

    This was great really

  • @YBWang-pi9qq
    @YBWang-pi9qq 2 года назад +1

    29:06 constraints for more resilient architecture
    - dependence inward
    - code reuse might not help
    - enforce boudaries

  • @ThugLifeModafocah
    @ThugLifeModafocah 7 месяцев назад

    I agreeeeeee... As Sandi Metz use to say: Duplication is cheaper than the wrong abstraction.

  • @SamuelKarani
    @SamuelKarani 4 года назад +1

    OOP/Functional constraints/benefits isn't always mutually exclusive

  • @Doombuggie41
    @Doombuggie41 4 года назад +4

    Loved this talk! However, I don't feel that monorepos are very out of reach anymore. Yarn workspaces makes things like this so easy!

    • @TheAndre2131
      @TheAndre2131 2 года назад

      now we're using Nx, and it works like a charm

  • @anonymouscoder3557
    @anonymouscoder3557 3 года назад +1

    Great presentation, Address a lot of issues between Decoupling > Dry, Explains when to choose what. Clearly explains that there is no silver bullet when it comes to "best practices". EOD "it depends" is the final answer.

  • @qwertt14
    @qwertt14 3 года назад +2

    amazing lecture, kudos Monica!

  • @nasheomirro8102
    @nasheomirro8102 2 года назад

    Ironically, the way I found this video is by searching up "react architecture"

  • @psnZYKRON
    @psnZYKRON 4 года назад +2

    This whole talk feels like a personal attack 😂

  • @detaaditya6237
    @detaaditya6237 2 года назад +1

    Boundary enforcement is really interesting. I never thought of it. Might try it on my next project

  • @johndavid3114
    @johndavid3114 2 года назад +2

    She is spot on about everything she mentions.

  • @phanvanhoa
    @phanvanhoa 4 года назад +1

    I come here for the topic. I'm a simple developer. Everything she said is absolutely right :v

  • @rickvian
    @rickvian 2 года назад

    "big ball of mud" also known by italiano as "big ball of spaghetti" code

  • @daniela.sorianoii2034
    @daniela.sorianoii2034 9 месяцев назад +1

    I love this talk. Everything makes sense as an FE dev

  • @inthemidstofitall
    @inthemidstofitall 4 года назад +3

    Very helpful, not just for front-end development. Thank you!

  • @mohamedhassanwd6434
    @mohamedhassanwd6434 4 года назад +2

    A great presentation Monica, I really like the way you deliver the info and the way you present. Hope to see great talks for you again 😘

  • @moraisgabas
    @moraisgabas Год назад +1

    Great

  • @alvincrespo
    @alvincrespo 4 года назад +4

    Fantastic talk! Thank you!

  • @abdallahgamal5092
    @abdallahgamal5092 3 года назад +1

    Really amazing talk , monica you know really how to speak really nicely thanks I learned alot

  • @ghosteng
    @ghosteng 9 месяцев назад

    Just because someone speaks so beautifuly, I does make sense all the time.

  • @gompro
    @gompro 4 года назад +4

    such a great presentation! love it

  • @notramiras
    @notramiras 10 месяцев назад

    Nx has a very neat way of restricting dependency rules

  • @iampervaze
    @iampervaze 4 года назад +2

    I agree to a greater extent to what you said. My manager always insists on keeping things decoupled to such a level that the change over time does not impact other business areas.

    • @jinxblaze
      @jinxblaze 4 года назад +2

      It is quite opposite to how my company works xD it's all a coupled mess and terrible APIs. Ui code literally has Java class names in the if blocks of javascript. Quitting soon

    • @iampervaze
      @iampervaze 4 года назад

      Sounds like an old monolith you have been working on, but hey, software development is a complex world, no matter how much you want to steer away from this kinda stuff, you end up working on it, one time or the other :)

  • @BryonLape
    @BryonLape 2 года назад

    Twenty years ago, I wrote my Perl object oriented and my Javascript with prototypes. Confused the crap out of everyone else. People still try hard to avoid the prototyping aspects of Javascript.

  • @quyettran424
    @quyettran424 2 года назад

    Shared components are not just about DRY, but also consistency and synchronization in updates. I think this is more important.

  • @rajdeepchandra9807
    @rajdeepchandra9807 3 года назад +1

    Great talk. In our React code base we use madge for circular dependency checks. It is very helpful and helped us avoid regression issues in our large codebase.

  • @fullc0depurple
    @fullc0depurple 3 года назад +1

    This pragmatic approach is really touching to me.

  • @alexbennett5647
    @alexbennett5647 Год назад +1

    Best talk I've heard in a while!

  • @shoaibbhimani7831
    @shoaibbhimani7831 Год назад

    Thank you Monica very interesting Talk

  • @manishtripathy1549
    @manishtripathy1549 3 года назад +1

    Great talk! Wish I could hit like 10 times.

  • @francoisconsigny9106
    @francoisconsigny9106 2 года назад

    This was a good reminder ! Thank you Monica Lent.
    A lot of frontend developper are like "this does the same thing so i made a component folder that shares the component. I just put a condition if its in this or in this page".
    Backend are like "Dude, you are just telling me there a not doing the same thing" haha .
    And i still dont understand why in Mobile App you use Observables and stuff. Doing module app and you dont do the same in frontend. I have some doubt of the benifit of Redux on webapp for the frontend community developpers.
    Cheers guys

  • @sct848
    @sct848 2 года назад +1

    Great talk! Thanks for the tips.

  • @shivankchopra8552
    @shivankchopra8552 3 года назад +1

    Great talk! Thanks for the video!

  • @laurelineparis5407
    @laurelineparis5407 3 года назад +1

    I seriously loved it :) thanks

  • @GUIGOLA777
    @GUIGOLA777 4 года назад +1

    This is infotainment. Monica is brilliant!

  • @shfunky
    @shfunky 2 года назад +1

    Fantastic talk. Still holds up to this day.

  • @LonliLokli
    @LonliLokli 4 года назад +1

    It's really good topic, great thanks for it!

  • @QiMU01
    @QiMU01 2 года назад

    Constraining the dependency import architecture rings true to me. I made an eslint plugin for whitelisting and blacklisting dependencies for folders in the app for the company I am working for. It really is helpful.

  • @kylonguyen-we5mx
    @kylonguyen-we5mx 7 месяцев назад +1

    What a brilliant lady!

  • @WesDoyle
    @WesDoyle 3 года назад +3

    excellent talk. decoupled > dry is wonderfully succinct.

  • @driziiD
    @driziiD 4 года назад +2

    nice talk

  • @praveensg
    @praveensg 3 года назад +1

    A+ content and A++ delivery

  • @naveenkumaranem8532
    @naveenkumaranem8532 2 года назад

    Less substance..more emotion.

  • @owenizedd2830
    @owenizedd2830 2 года назад

    This actually very similar to what dan abramov was talking about in his wet codebase talk

  • @thepetesmith
    @thepetesmith 3 года назад +1

    She is brilliant wow

  • @NabeelIbrahimcp
    @NabeelIbrahimcp 3 года назад +1

    Really awesome explanation

  • @illuminach8279
    @illuminach8279 2 года назад +1

    Great presentation!

  • @barrajar
    @barrajar 3 года назад +1

    Thanks for a great talk!

  • @rituroy6598
    @rituroy6598 2 года назад +1

    Great talk👍🏻

  • @emmanuelugwuoke967
    @emmanuelugwuoke967 2 года назад +1

    Great talk!🎊

  • @razik91
    @razik91 2 года назад +1

    Great talk! 🙂

  • @OfferoC
    @OfferoC 4 года назад +2

    Great talk, thank y0u.

  • @nsambataufeeq1748
    @nsambataufeeq1748 3 года назад +1

    great talk,thanks

  • @PaulSebastianM
    @PaulSebastianM 4 года назад

    She knows her stuff... can't believe she's that young.

  • @semrana1986
    @semrana1986 3 года назад

    existential crisis for a component behaving like a dangling pointer is so true

  • @SaifUlIslam-di5xv
    @SaifUlIslam-di5xv 3 года назад +1

    Amazing talk.

  • @faisalhakim5920
    @faisalhakim5920 3 года назад +1

    good talk

  • @bardhan.abhirup
    @bardhan.abhirup 2 года назад

    this was brilliant!

  • @akay64x2
    @akay64x2 4 года назад +1

    Truth has been spoken :D

  • @ricardoferreirades
    @ricardoferreirades 4 года назад +1

    I liked it!

  • @KevinBoosten
    @KevinBoosten 4 года назад +1

    Great talk!

  • @uwontlikeit
    @uwontlikeit 4 года назад

    can someone tell GOTO channel about the timecodes?

  • @ilovegame1712
    @ilovegame1712 9 месяцев назад

    goddamn good

  • @daCorasla
    @daCorasla 4 года назад +1

    Great talk! :)

  • @SachinYadav-eh7vg
    @SachinYadav-eh7vg Год назад

    22:46

  • @edarioq
    @edarioq 4 года назад +2

    Angular gives us good architecture right out of the box...

    • @nishantsingh
      @nishantsingh 2 года назад +1

      That's the comment i was looking for.

  • @alexanderdreith6794
    @alexanderdreith6794 4 года назад +4

    I think there are some great thoughts here from a pure code standpoint, but all the decision flow was discussed as one way. Like new business requirements fracturing a generic shared component. But I also like to look at things like that in a reverse flow of thought.
    Sometimes a designer has created a piece of UI that is complicating the code of a shared component and rather than saying "then we should split this code" you should consider if it's a smell that the designer is breaking pattern of the design system. Why should a one-off coded component be created to meet a one-off design need rather than the design using the already provided component? Sometimes it's necessary, but I think using the introduction of complexity to an architecture can be a good canary for why it's happening rather than just blind implementation.

  • @tejbirring9673
    @tejbirring9673 2 года назад +1

    A very well thought out talk relevant to areas of software engineering beyond frontend. Takes me back to embedded days.

  • @Kilo.November
    @Kilo.November 4 года назад +6

    Monica bringin that sassy attitude while droppin insights!

  • @edarioq
    @edarioq 4 года назад

    Good talk thanks.

  • @Oswee
    @Oswee 4 года назад

    Excelent talk! :)

  • @adbeats4119
    @adbeats4119 4 года назад

    Nice