Build a simple todo app with...
- Vanilla JS
- React
- Angular
- Vue
- Svelte
- Lit
- Alpine
- Solid
- Stencil
- Mithril
Watch the full JS framework comparison on YouTube
Comparison of 10 frontend JavaScript frameworks
Build a simple todo app with...
Watch the full JS framework comparison on YouTube
I enjoy the whirlwind tour of all those frameworks - five of those I didn't even know existed! I have only work with vue and react so seeing the other frameworks with a simple app was great. I was thinking it was too simple but it made it a lot easier to compare the frameworks at a glance.
My only remark is that HTML/DOM can be written more declarative than you show.
<!-- `return false` is equal to `event.preventDefault()` -->
<form onsubmit="addTodo(this.elements.todo.value); this.reset(); return false">
<input name="todo" type="text">
<input type="submit" value="Add Todo">
</form>
function createListElement(text) {
const li = document.createElement('li');
li.textContent = text; // faster and safer than .innerHTML
return li;
}
function addTodo(todoText) {
todoData.push(todoText);
todoList.appendChild(createListElement(todoText));
localStorage.setItem('todos', JSON.stringify(todoData));
}
I think the movement is insane. You bet on angular, and it has little adoption. Who cares? You should be able to use any tool, who cares what people think. Give it a try! I am a total noob, and your videos quite literally run our company. I absolutely love Firebase, and your channel. Am a long time Google user myself. But when it comes to angular, I think vuejs is just more intuitive.
<3
I coded along and stumbled upon this error. Which is still there, when I copy the entire file
File & Line:
https://github.com/fireship-io/10-javascript-frameworks/blob/main/vanilla-app/index.html#L28
Error Message:
Uncaught TypeError: existingTodos.forEach is not a function
You may refer to the dagger.js version here: https://codepen.io/dagger8224/pen/XWYBKjJ, which should be very easy to understand.
"The last thing the world needs is ANOTHER JavaScript framework."
This framework comparison is awesome. In the video, you talk about the pros and cons for each framework but you don't talk about the size of the final project.
I think you could add a comparison table in the main readme. I did some tests and was surprised how small is the Svelte output. Theses size considerations can help choosing a framework.
It makes the data reactive and you can give the Proxy rule for new data like rendering.
I think it would be a good idea to do this type of video again but with mobile development tools like Objective C and SwiftUI for iOS, Kotlin and Java for Android, and Flutter and React Native for cross platform. Plus I think there's some cross platform tool for kotlin too. Thanks
It's just a boiler plate vue app.
Vue app in repo appears to be the default generated hello world app, rather than the demo app from the video!
(Can I say thanks for the quick and useful framework comparison here?)
When you have some todos in local storage they're added twice to todoData
since addTodo
pushes each one to the array:
10-javascript-frameworks/vanilla-app/index.html
Lines 30 to 38 in 4c01788
You'll have twice as much todos on the next page load.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.