JavaScript in 2017: You might (not) need a framework - David Vujic

  Рет қаралды 18,866

NDC Conferences

NDC Conferences

Күн бұрын

Пікірлер: 38
@kipraymond777
@kipraymond777 6 жыл бұрын
It was an enlightening exercise. The point was David had to learn the purpose of these dependent libraries by justifying their existence first; understanding exactly what they do; and introducing them incrementally. He learned on an empirical basis, much more than if he had used those libraries merely because everyone else is using them. Building apps in Javascript may result in great user experiences, but it can also induce confusion, delirium, and migraines in newbie learners of these rapidly proliferating and rapidly obsolescing tools. Only by spending many hours in the trenches with these libraries can you overcome Crippling TMC Syndrome (too many choices) and attain a state of productivity.
@kimichen886
@kimichen886 6 жыл бұрын
JS feels like a needed evil when I try to bring technologies to my classroom. Nothing works but the browser but after knowing clean languages like Python, I just can't swallow JS no matter how much I want to. Thanks for your presentation. Now I understand why JS needs to be built this way and maybe give me some hope to try again. 😀🙏🙇
@threeone6012
@threeone6012 6 жыл бұрын
I work for myself so I'm allowed to program vanilla.js all day. Don't hate the player, hate the game.
@MrVankog
@MrVankog 7 жыл бұрын
As someone who is currently learning Javascript, I feel completely overwhelmed by the framework and Ecmascript versioning hell. You can't really do anything with plain js at all beside simple algorithmic computation. This video really, really helped me in understanding what these common frameworks are there for. E. g. I had some jasmine tests with require syntax. node can't run it yet. Jasmine standalone can run it fine, tough. JsWebdriver with jasmine can't. Karma can't, because all the browsers I tested can't. (just today Chrome 61 finally can...) So running jasmine karma can't neither. It requires extra setup to initialize require.js. But this led to errors from require.js that needed another require syntax instead. So finally, with lots of effort, days of frustration and code changes it works. And then I found out about jest. Installed it, gave it some minor configuration, and it works out of the box with the original require syntax in the jasmine specs... It was a frustrating odyssey deluxe with lots of plugins that turned out to be outdated, interoperability problems, versioning issues etc. Basically I expirienced Javascript as hell. And I'm really tempted to throw it and learn C# or Go instead...
@davidvujic
@davidvujic 7 жыл бұрын
MrVankog I am happy to hear this session was useful, thank you for sharing your thoughts! But don't give up on JavaScript yet! :)
@ryanmoody5703
@ryanmoody5703 7 жыл бұрын
I would have to disagree with you. You can a lot more with JavaScript then just simple algorithmic computation. You can make a light front end to backend using just JavaScript.
@MrVankog
@MrVankog 7 жыл бұрын
Ryan Moody sure you can. It's Turing complete. But it's virtually impossible as a Newby. Because every tutorial or course starts with at least one framework that you have to use. E.g. Exercism needs jasmine, node and therefore npm Coding Train needs p5 Any web development course needs react, angular, vue or whatever.
@user-sw1wq8lh2w
@user-sw1wq8lh2w 7 жыл бұрын
you want an easy time writing unit tests? I highly recommend jest, just dump all the cruft and write tests. lol, just noticed you switched to it. awesome. I tried mocha + chai, intern, nightwatch, even tape. Jest is great, super simple, includes what you need.
@lakeacres9750
@lakeacres9750 6 жыл бұрын
Exactly! Although until the day browsers in use around the world have adopted newer specifications, I think there is a place for frameworks to help us out.
@CaptainAardvaark
@CaptainAardvaark 7 жыл бұрын
I dunno about anyone else, but I find the dependency hell of modern web development nauseating. It feels like languages on top of languages on top of languages- how do you keep control of your code?
@bavidlynx3409
@bavidlynx3409 4 ай бұрын
Thats the point of good code why not code fucking code the internet again whenever you need to push some data to a service 🤡
@WillKriski
@WillKriski 7 жыл бұрын
So true. When something goes wrong you realize then you don't understand what each module is doing.
@projectivemotion
@projectivemotion 7 жыл бұрын
Good video. I remember back when people used to think javascript was java.
@Liberalite
@Liberalite 7 жыл бұрын
Some people still do.
@rajashahja8975
@rajashahja8975 6 жыл бұрын
he is very intelligent, a blessing for typical JS professionals
@griffadev
@griffadev 7 жыл бұрын
A good video though, it was unfortunate that the speaker turned to React, whilst people say React is just a library, i find this a falsehood. I've often found Reacts lifecycle and Virtual DOM causes a lot of interoperability issues, when trying to share components across projects. A true component model should allow you share modules across projects, and swap pieces in and out. Think this isn't true, try using Vanilla Custom Elements and the new Shadow DOM spec into some of your components, and use it with React. You will encounter issues, leading me to strongly believe React isn't what its advertised as, a UI Library, it's an opinionated Component Framework that forces you to write and expose components the way that it wants you to write and expose components. It would be cool to see how the Custom Elements spec influences projects like this, where you progressively enhance your architecture, where you can write code that has zero run time dependencies, and just uses the browser Platform features, and build process to transpile and polyfill when features arent available
@pimbrouwers1004
@pimbrouwers1004 7 жыл бұрын
This is why I use knockoutjs instead!
@Mark-qc8iu
@Mark-qc8iu 6 жыл бұрын
I thought this was going to be a joke about how awful the state of js libraries are, but the punchline never came. This was an advertisement for how ridiculous things have become. I could do what he's trying to do in his example in about 5 total lines using basic javascript requiring no additional libraries or packages.
@kefleyohannes4158
@kefleyohannes4158 7 жыл бұрын
Watch on speed 1.5x because the speech is so slow!
@raghavkanwal
@raghavkanwal 7 жыл бұрын
Thank you. :D
@andrewcameron5852
@andrewcameron5852 7 жыл бұрын
x2 worked perfectly for me!
@williamramirezlizano
@williamramirezlizano 7 жыл бұрын
Was just about to say the same. 1.5x makes it bearable.
@VikasPoonia
@VikasPoonia 5 жыл бұрын
3x here
@KANJICODER
@KANJICODER Жыл бұрын
JQuery is a great language for writing HTML in a vertical monitor or otherwise column-limit friendly way. Super long CDN url? No problem, break it up into sub strings.
@maskman4821
@maskman4821 7 жыл бұрын
so many libraries, frameworks, all emphasize that pure javascript dom is pain in the ass, and jquery is not enough, react, angular, vue, amber and on and on.....and when it comes to mobile, jquery mobile, bootstrap, ionic native, react native, nativescript, framework7 and on and on... from es5 to es6 now es8, all achieve the same thing.....we have to learn new technology each and every single day if we go with javascript, html, css.....
@LarsGyrupBrinkNielsen
@LarsGyrupBrinkNielsen 6 жыл бұрын
21:37 Actually, both Chrome, Edge, and Safari supports script tags with type=module: caniuse.com/#feat=es6-module and it's awesome!
@alexandertsvetkov
@alexandertsvetkov 7 жыл бұрын
I dunno... personally, can't say that the message came across. I second the idea of learning all frontend-related tools one by one instead of relying on "quickstart" templates or scaffolders like create-react-app. But I still don't see how this is suitable for 45 minutes talk.
@thomaslang622
@thomaslang622 7 жыл бұрын
you built a widget, but without being able to put two of them on a page then its not really a component is it. have you thought how you would accomplish this. in other words, have the widgets click events not occupy the globab namespace
@AmitErandole
@AmitErandole 7 жыл бұрын
For those searching for the repo: github.com/DavidVujic/vanillajs-components
@JuanPabloSalaMDQ
@JuanPabloSalaMDQ 7 жыл бұрын
Liked it a lot, thanks
@unknotmiguel
@unknotmiguel 7 жыл бұрын
Just didnt explain how the browser will select each compiler.js according to browser version? Is that automatically or what...
@brubrunda9783
@brubrunda9783 6 жыл бұрын
User should be able to make search and accordingly product should be displayed. Now it’s up to you how you display. Use any front-end frameworks you like. Sir please send how to do this code
@nacancanyokamziku124
@nacancanyokamziku124 7 жыл бұрын
so he used +- 5 tools (meaning couple of dozens of thousands of files downloaded via npm) to achieve laughably trivial functinality; what tools would he recommend for building os of an space shuttle? brain maybe?
@davidvujic
@davidvujic 7 жыл бұрын
Načančaný Okamžiku I probably wouldn't choose JavaScript. Npm would take forever to use out there in space :)
@nacancanyokamziku124
@nacancanyokamziku124 7 жыл бұрын
don't know, man, currently if you want to use babel, you need to install presets localy; it doesn't work otherwise, because that's the way cool kids use tools these days; that's +-3-4 thousands files (for es2015 preset alone, i mean preset, the basic babel can probably do nothing on its own) inside your project directory; storage is cheap, yeah, as is the mentality that allows one invent or worship yet another way how to read data from db, display them, present UI to modify them and store them inside db; i get it, you all create facebooks, twitters or some other very important complicated websites, so you really need baggers 288, it's just that sometimes it looks more like bagger 288 caught in a storm inside a glass of water
@JorgeDev92
@JorgeDev92 7 жыл бұрын
It's not about being a cool guy, it's about not being decrepit. I you dont want to have 200 MB in packages, then do tree shaking and get what you need. In dev i dont care about if i have 1 or 40K files in node_modules because the app runs exactly the same. You dont need to deploy Twitter for using strong tools. It´s a time cuestion, I prefer for example to use Angular with CLI (webpack) instead of reinvent the wheel with vanilla js. When you finish the app, you just write ng build --dev and you have a strong SPA app in 400kb wich is what your prod server needs not the 40k files. Dont understand the mind of some devs who would prefer to continue with ES1 if you ask them. PD: i am not english, sorry if it's difficult to read or if it seem so rude.
@pamelagerber9989
@pamelagerber9989 7 жыл бұрын
just trying to understand this web site. pretty hard but I'm trying.
@AVoskresla
@AVoskresla 7 жыл бұрын
thx!
Your website does not need JavaScript - Amy Kapernick - NDC Oslo 2024
43:37
Fake watermelon by Secret Vlog
00:16
Secret Vlog
Рет қаралды 29 МЛН
Когда отец одевает ребёнка @JaySharon
00:16
История одного вокалиста
Рет қаралды 15 МЛН
А что бы ты сделал? @LimbLossBoss
00:17
История одного вокалиста
Рет қаралды 11 МЛН
ROSÉ & Bruno Mars - APT. (Official Music Video)
02:54
ROSÉ
Рет қаралды 131 МЛН
Vanilla JS: You Might Not Need a Framework by Max Firtman | Preview
17:56
Frontend Masters
Рет қаралды 3,2 М.
PROOF JavaScript is a Multi-Threaded language
8:21
Beyond Fireship
Рет қаралды 285 М.
.NET Blub: Frameworks beyond Microsoft - Joe Stead
46:53
NDC Conferences
Рет қаралды 451
New largest prime number found! See all 41,024,320 digits.
10:14
Stand-up Maths
Рет қаралды 352 М.
Dawkins vs Peterson: Memes & Archetypes | Alex O’Connor Moderates | EP 491
1:32:04
Don’t Build a Distributed Monolith - Jonathan "J." Tower - NDC London 2023
1:04:02
JavaScript Is Becoming 2 Languages?? FROM TC39
30:01
ThePrimeTime
Рет қаралды 73 М.
Anthropic’s New AI Can Control Your Computer!
18:29
Matthew Berman
Рет қаралды 50 М.
Fake watermelon by Secret Vlog
00:16
Secret Vlog
Рет қаралды 29 МЛН