awesome-rust
parcel
Our great sponsors
awesome-rust | parcel | |
---|---|---|
37 | 168 | |
42,838 | 43,115 | |
3.3% | 0.2% | |
9.4 | 9.4 | |
3 days ago | 3 days ago | |
Rust | JavaScript | |
Creative Commons Zero v1.0 Universal | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
awesome-rust
-
Help me stop hating rust
It can be tricky to find learning resources that is perfectly tailored to the exact point we’re you’re standing right now. Especially if you already have prior experience.
But since you’re already familiar with programming, perhaps just dive right in…?
I.e. start a new project in Rust. You could do something like Advent of Code, Project Euler or Cryptopals[0]. Or write a simple webserver or whatever you feel like.
Don’t forget that ChatGPT can be quite useful for stuff like this. You can use it like a mentor. Just ask it anything you want to, make it show you examples (and then more examples) and so on. The answers might not be correct all of the time, but at least it can give you an idea of what docs to read next.
If you’re looking for blog posts, an acquaintance of mine has written some: https://priver.dev/tags/rust/
For more links to code/learning resources, see https://github.com/rust-unofficial/awesome-rust
And if you get stuck you also have the official Rust chats on Zulip/Discord.
HTH. Best of luck!
[0] https://cryptopals.com/
- A curated list of Rust code and resources
-
Writing your own CLI in rust
View on GitHub
- What are some of projects to start with for a beginner in rust but experienced in programming (ex: C++, Go, python) ?
-
Disappointing experience with 'Command-Line Rust': Seeking more comprehensive Rust resources
I did find the official https://doc.rust-lang.org/book/ quite useful, it's more than enough to understand the language itself. Command-line programing is not a complicated thing, basically you have the CLI arguments, environment variables, stdin-stdout-sterr and nothing else. A few crates to start with: clap, dotenv, config, log4rs. Just go the crate documentation, there are many good examples there, no other book is neccessary. If you have a specific problem to solve, start to browse crates.io or https://github.com/rust-unofficial/awesome-rust for possible solutions.
-
58 Rust Resources Every Learner Should Know in 2023
37. Awesome Rust is a great repo with a huge curated list of plenty with Rust code and resources. You can find complete applications in different areas that were built based on Rust.
-
GitHub official Twitter account just posted about my Rust project: if it’s a dream don’t wake me up
Post it there https://github.com/rust-unofficial/awesome-rust
-
Need Project Idea Advice
I'd recommend taking a look at https://github.com/rust-unofficial/awesome-rust and seeing if anything interests you that way.
-
Rust project list from simple to complex?
Not really sorted by complexity, but awesome-rust might be close to what you're looking for.
-
Blessed.rs – An unofficial guide to the Rust ecosystem
See also:
https://github.com/rust-unofficial/awesome-rust
This list is currently far more comprehensive, and it's filled with a lot of high-quality crates.
parcel
-
Getting started with TiniJS framework
Homepage: https://parceljs.org/
-
React Server Components Example with Next.js
In the Changelog Podcast episode referenced above, Dan Abramov alluded to Parcel working on RSC support as well. I couldn’t find much to back up that claim aside from a GitHub issue discussing directives and a social media post by Devon Govett (creator of Parcel), so I can’t say for sure if Parcel is currently a viable option for developing with RSCs.
-
JS Toolbox 2024: Bundlers and Test Frameworks
Parcel 2 emphasizes a zero-configuration approach to bundling web applications. It's a powerful tool that offers a hassle-free developer experience, focusing on simplicity and speed.
-
Build a Vite 5 backend integration with Flask
Once you build a simple Vite backend integration, try not to complicate Vite's configuration unless you absolutely must. Vite has become one of the most popular bundlers in the frontend space, but it wasn't the first and it certainly won't be the last. In my 7 years of building for the web, I've used Grunt, Gulp, Webpack, esbuild, and Parcel. Snowpack and Rome came-and-went before I ever had a chance to try them. Bun is vying for the spot of The New Hotness in bundling, Rome has been forked into Biome, and Vercel is building a Rust-based Webpack alternative.
-
What is JSDoc and why you may not need typescript for your next project?
Parcel
-
Building Node.js applications without dependencies
I’ve tried something similar on the frontend side: I decided to build a UI for Ollama.ai using only HTML, CSS, and JS (Single-Page Application). The goal is to learn something new and have zero runtime dependencies on other projects and NPM modules. Only Node and Parcel.js (https://parceljs.org/) are needed during development for serving files, bundling, etc. The only runtime dependency is a modern browser.
Here's what I have found so far:
- JavaScript (vanilla) is a viable alternative to React.js
-
11 Ways to Optimize Your Website
Besides Webpack, there are many other popular web bundlers available, such as Parcel, Esbuild, Rollup, and more. They all have their own unique features and strengths, and you should make your decision based on the needs and requirements of your specific project. Please refer to their official websites for details.
-
Bun vs Node.js: Everything you need to know
In the Node.js ecosystem, bundling is typically handled by third-party tools rather than Node.js itself. Some of the most popular bundlers in the Node.js world include Webpack, Rollup, and Parcel, offering features like code splitting, tree shaking, and hot module replacement.
-
JavaScript Gom Jabbar
There are projects attempting to do more things. I've really enjoyed Parcel (https://parceljs.org). But it won't handle things like linting or unit testing, which you may or may not want. Vite is also pretty popular (https://vitejs.dev/), and it has a test runner.
Thing is, most of the problems described in the post aren't related to low-JS front-end libraries like HTMX or alpine. You can write React without a linter, bundler, build tool, unit testing, or linting. But with any of these projects at scale, you start wanting more:
- If you want to write unit tests in JS, you need to choose a test runner (probably Jest or Vitest -- until the built-in node testing module becomes more common).
- If you want linting, you need a linter (probably Eslint). If you want type safety, you need a type checker (probably Typescript).
- If you want to create smaller JS files to ship to production and to automatically handle assets, you need a bundler.
- If you want to use new language features while supporting old browsers, you need polyfills.
- If you want to use all these things together, you need something to bring it together (like Webpack).
So it really depends what you need! You may not need any. But as you can imagine, in many professional projects with multiple developers it's very nice to have unit tests, linting, and type checking :) (And you start caring about end-user performance a lot more, in which case optimizing the shipped bundle is important.)
Take all that, and then compare to a language like Rust, which has most of the "ecosystem stuff" built-in. In Rust, you get the test runner, the linter, dependency manager, type checker, and documentation tool all included. Easy! Thankfully, Rust doesn't have to care about whether users support modern language features (because it compiles down to lower code ahead of time), or whether the binary shipped to the client is optimally organized for downloading immediately over the internet.
It's a problem in JS because A) you have to care about more problems than many other languages since JS needs to load instantly over the wire in a web browser, and B) there is a huge amount of choice and not a lot of standardization in web tools. (And what standardization there is (Node, npm), there are still competitors trying to even further reduce the pain points.)
I think that in ten more years, we'll be in a better place, because there is push back (like this post!) against these problems, which will encourage more tools trying to solve the explosion of tools. Which seems counterintuitive, but these tools were created to solve very real problems. So I see it as a pendulum which has swung too far, but will likely swing back to a more balanced place. And you see that with tools like Vite gaining popularity.
-
Whatever It Takes
My first challenge here was the migration from vanilla JS to utilizing tools like Parcel and React. React, I was a bit familiar with; however, I had never heard of Parcel.js in my life. Several days were spent troubleshooting why my build process was not working on Netlify before I finally found out that I had to set up my Netlify Build Settings specifically for using a bundler like Parcel.js
What are some alternatives?
pulsar-rs - Rust Client library for Apache Pulsar
vite - Next generation frontend tooling. It's fast!
starsector-mod-manager-rust - A mod manager for Starsector, a space fleet-battle and economics simulator. This time written in Rust.
gulp - A toolkit to automate & enhance your workflow
RustScan - 🤖 The Modern Port Scanner 🤖
esbuild - An extremely fast bundler for the web
quaint - SQL Query AST and Visitor for Rust
Next.js - The React Framework
static-analysis - ⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.
webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
odbc-api - ODBC (Open Database Connectivity) bindings for Rust.
Rollup - Next-generation ES module bundler