Тёмный

Sebastian Markbage: Minimal API Surface Area | JSConf EU 2014 

JSConf
Подписаться 277 тыс.
Просмотров 67 тыс.
50% 1

I’ll explain how React is moving towards a minimal API surface area. Instead of providing many framework features, React is trying to utilize patterns, paradigms and JavaScript language features to accomplish the same tasks that other frameworks have dedicated APIs for.
We start out with higher order runtime features and then backport them to use ES6 language features and syntax. How does the JSX syntax extension fits into this model? I will also touch on the syntax proposals we and other framework authors are making to ES7 and future versions of JavaScript.
Transcript: 2014.jsconf.eu/speakers/sebast...
License: For reuse of this video under a more permissive license please get in touch with us. The speakers retain the copyright for their performances.

Наука

Опубликовано:

 

14 окт 2014

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 34   
@ZaneDev
@ZaneDev 7 лет назад
Definitely agree on keeping abstractions down. Can't tell you how many times I've worked with people that abstract everything even my own straightforward code simply because they think they're being clever when all it does is confuse things and make it harder to debug and refactor later. Staying bare bones as much as possible is great advice and I'm very happy to learn that is react's goal.
@r0mankon
@r0mankon Год назад
I didn't realize the video was from 8 years ago until the very end portion at 21:55. It's Oct 22, 2022 today! 😮
@victornoagbodji
@victornoagbodji 9 лет назад
really nice talk. thanks.
@enemysenemyPS
@enemysenemyPS 9 лет назад
very good! thanks
@alcoheca
@alcoheca 8 лет назад
Great talk
@Phishstaebchen
@Phishstaebchen 8 лет назад
Awesome talk
@1103MusikBerlin
@1103MusikBerlin 7 лет назад
sound is awesome
@vitezslavackermannferko7163
@vitezslavackermannferko7163 7 лет назад
What's the song at the beginning?
@filmfritzcth
@filmfritzcth 4 года назад
Well, three years later, here's the answer: Allen Alien - Sehnsucht
@vitezslavackermannferko7163
@vitezslavackermannferko7163 4 года назад
@@filmfritzcth And I couldn't be more grateful! Thank you. PS: This one reminded me of Âme - Rej, which I have heard on another conference, where I asked the sound team personally, haha.
@igrb
@igrb Год назад
Common sebastian W
@hunterkohler3697
@hunterkohler3697 2 года назад
I like to think that he's so traumatized by the abstractions that he's drinking a bottle of vodka on stage. Also: most people haven't programmed a lot in C, so they do over-abstract, not realizing they're essentially creating macros; which infrequently make code better.
@danielhoffmann7138
@danielhoffmann7138 8 лет назад
Although mostly agree with his points I find that JSX itself violates the rule 3 (Almost never add sugar / only abstract to solve bugs). The HTML inside the JS is pure sugar and does not solve bugs (badle written objects would simply not compile. I am not saying that JSX is bad (I prefer using it than writing react code without it), I guess the rule can be bent to allow some sugar in some very special cases. Also the flux ecosystem is creating a mess of non-compatible abstractions and this is mostly caused by facebook not pushing its own implementation as the standard hard enough.
@DivjotSingh
@DivjotSingh 8 лет назад
+Daniel Bernardes That's why it is purely optional
@danielhoffmann7138
@danielhoffmann7138 8 лет назад
+Divjot Singh My point was that those rules are not set on stone and should be thought of more as guidelines. Unless you have a very good motive you should follow them. In the case of JSX, writting plain JS react as opposed to JSX would be very unwielding.
@AlexQuirk
@AlexQuirk 8 лет назад
Im not sure it even breaks the rules, add sugar when it reduces bugs. I have never tried to write react code without jsx, but creating those strings of markup without errors must surely be nearly impossible
@einarnorfjor2937
@einarnorfjor2937 7 лет назад
I'd honestly prefer a hyperscript API over JSX any day of the week.
@vitezslavackermannferko7163
@vitezslavackermannferko7163 4 года назад
I like to think of JSX as a macro. It just transpiles the code into a different code after all.
@sergeysmyshlyaev9716
@sergeysmyshlyaev9716 3 месяца назад
React 19 breaks all those principles, sadly
@owensoft
@owensoft 8 лет назад
I thought react was a library
@EliasLawsonFox
@EliasLawsonFox 7 лет назад
It is a library
@MoerreNoseshine
@MoerreNoseshine 9 лет назад
Pleeaase let go of the bottle... :)
@schlogen
@schlogen 9 лет назад
To say "write repetitive code" is utter ridiculousness. This guy has some decent points, but some have no merit
@FaceySpacey
@FaceySpacey 8 лет назад
+schlogen he's basically making a hyperbolic example to stress the point that we are getting ourselves in trouble through overly using abstractions and don't even realize it. Of course it's up to your discretion, but he's prediction/guess/assumption is that as a whole the community needs to dial down our usage of abstractions and implicit behavior in place for explicit, sometimes, repetitive coding practices.
@AlexQuirk
@AlexQuirk 8 лет назад
He is steelmanning his argument. The strongest objection to what he is saying would be the reductio that it would lead us to write repetitive code. He is pre-emptively biting that bullet.
@StijnDeWitt
@StijnDeWitt 8 лет назад
Alex Quirk Yes! I basically wrote a similar argument some time ago: stijndewitt.com/2014/05/10/i-like-my-code-wet/
@AlexQuirk
@AlexQuirk 8 лет назад
Agree, ive been doing it myself for months now, ever since i ran into a few nasty bugs at work that were the result of contrived abstractions. It was really nice to see this talk and realize i wasn't alone and/or doing something profoundly stupid.
@smbossco
@smbossco 7 лет назад
pretty much... and now with es6 modules, this whole pattern being repetitive argument is null and void. write your own functions, put them in a module, call them as needed. game over.
@IvanMalison
@IvanMalison 8 лет назад
This video is is idiotic. Obviously some abstractions are costly, and it is possible to over abstract, but to advocate getting rid of all abstraction unless its absence causes bugs is a ridiculously reductive conclusion.
@richardcarter2589
@richardcarter2589 8 лет назад
+Ivan Malison I don't agree it is "utterly idiotic". He could have been clearer by using the word "abstraction" less, and selected more carefully the words "library", "standard" and "pattern", all of which are abstractions of a sort. His intended message, as I understood it, was that available standards should be preferred to patterns, which should be preferred to libraries. The use of ES6 classes within React described in the talk was a good example. This approach introduces a shallower learning curve, but at a risk of repetition and verbose code. His argument as I took it was that the verbosity and repetition should be eliminated only when they become an actual maintenance burden, rather than a perceived future one. In a large organisation where anyone could be working on your code at any time (which is how I imagine Facebook to be), this makes perfect sense. If it's one person on a personal project, I agree it seems a bit of an extreme approach.
@eduardpleh6444
@eduardpleh6444 9 лет назад
Nice. Thanks. :)
Далее
Hammock Driven Development - Rich Hickey
39:49
Просмотров 288 тыс.
Hacker Way: Rethinking Web App Development at Facebook
44:36
Rich Harris - Rethinking reactivity
36:45
Просмотров 318 тыс.
RailsConf 2014 - All the Little Things by Sandi Metz
38:47
😮Новый ДИРЕКТОР Apple🍏
0:29
Просмотров 41 тыс.