Farm: Fast vite compatible build tool written in Rust
Farm is a Rust-based web building engine for efficient web programming. It accelerates React/Vue projects with fast updates, incremental building, module-level caching, and support for popular technologies like Sass, Less, Vue, and React.
Read original articleFarm is a Rust-based web building engine designed to streamline web programming and serve as a JavaScript library. It boasts exceptional speed, allowing for the quick initiation of React/Vue projects and updates within 10ms in most cases. The tool supports incremental building with persistent cache and module-level caching, avoiding redundant compilations. Farm offers a wide range of features, including compiling HTML, CSS, JavaScript, and various assets, along with support for popular technologies like Sass, Less, Vue, and React through official plugins. It is fully pluggable and compatible with Vite, enabling partial bundling for faster resource loading while maintaining caching precision. Farm ensures consistency between development and production environments and is compatible with both legacy (ES5) and modern browsers. The platform is community-driven, with support available through WeChat groups and Discord, and is actively maintained by Farm, Inc.
Related
AdonisJS
AdonisJS is a TypeScript-first web framework for Node.js, emphasizing type-safety, intellisense, and performance. It offers testing support, official packages like Lucid for SQL ORM, Auth for authentication, and a vibrant community.
Eight million pixels and counting: improving texture atlas allocation in Firefox (2021)
Improving texture atlas allocation in WebRender with the guillotiere crate reduces texture memory usage. The guillotine algorithm was replaced due to fragmentation issues, leading to a more efficient allocator. Visualizing the atlas in SVG aids debugging. Rust's simplicity and Cargo fuzz testing are praised for code development and robustness. Enhancements in draw call batching and texture upload aim to boost performance on low-end Intel GPUs by optimizing texture atlases.
Exposition of Front End Build Systems
Frontend build systems are crucial in web development, involving transpilation, bundling, and minification steps. Tools like Babel and Webpack optimize code for performance and developer experience. Various bundlers like Webpack, Rollup, Parcel, esbuild, and Turbopack are compared for features and performance.
Adding view count and like button to 11ty
The article explains adding view count and like button to an 11ty blog using Express and Vercel serverless functions. It details challenges, solutions, code snippets, and suggests Next.js for easier integration.
Homegrown Rendering with Rust
Embark Studios develops a creative platform for user-generated content, emphasizing gameplay over graphics. They leverage Rust for 3D rendering, introducing the experimental "kajiya" renderer for learning purposes. The team aims to simplify rendering for user-generated content, utilizing Vulkan API and Rust's versatility for GPU programming. They seek to enhance Rust's ecosystem for GPU programming.
Vite:
2166 modules transformed.
built in 28.21s
Farm: [ Farm ] Build completed in 13350ms FULL EXTREME! Resources emitted to ./dist.
[ Farm ] Public directory resources copied successfully.
So that is 28.21s vs. 13.35s, or a 53% decrease in build times. This is certainly neat, but I'm not sure whether it is worth the dependency on a new player.What's the risk of downloading what's supposed to be a release binary of this off GitHub, where the release binary includes something nefarious not found in the open codebase, that steals your company's source code when you use it to compile?
In today's geopolitical climate, how does anyone trust non-Western projects?
There is also Vite, of course , which is already quite fast and very popular.
What's the differentiator between those?
I made the exact same point two years ago when Turbopack came up with a similar benchmark: https://github.com/yyx990803/vite-vs-next-turbo-hmr/discussi...
The point is if we want to compare bundler performance, we should keep all the non-architectural variables consistent across all implementations. Otherwise we are not comparing apples to apples.
PR submitted to update the benchmark: https://github.com/farm-fe/performance-compare/pull/11
Without wanting to make this specifically anti-chinese, I really wonder whether that makes it better or worse than only having the Discord link.
I find Discord as a community platform already quite questionable. Now add to that the simple fact of fragmenting your community into two... I'm not convinced.
Are any large projects using it? Corporation sponsors?
I stopped at "create" - I rather "install and convert" in a branch to try stuff out.
I'm sorry, but WebGL probably shouldnt be a requirement for your front page to display any content at all. I disable it for privacy hardening and switch browsers to opt-in. Additionally, low-power clients may struggle with rendering and sink battery in mobile devices.
The docs work fine, if anyone else runs into this and wants to read about the project.
What specific optimizations do these tools offer that others can't, and why can't the slower tools simply adopt these optimizations in future updates?
Is this a result of a lack of consensus within the community, leading to the creation of new forked tools, or is there a larger strategic context that I'm missing?
Maybe instead of using nodejs, use Go, Spring, Quarkus, Micronaut, ASP.NET, Axiom...
Related
AdonisJS
AdonisJS is a TypeScript-first web framework for Node.js, emphasizing type-safety, intellisense, and performance. It offers testing support, official packages like Lucid for SQL ORM, Auth for authentication, and a vibrant community.
Eight million pixels and counting: improving texture atlas allocation in Firefox (2021)
Improving texture atlas allocation in WebRender with the guillotiere crate reduces texture memory usage. The guillotine algorithm was replaced due to fragmentation issues, leading to a more efficient allocator. Visualizing the atlas in SVG aids debugging. Rust's simplicity and Cargo fuzz testing are praised for code development and robustness. Enhancements in draw call batching and texture upload aim to boost performance on low-end Intel GPUs by optimizing texture atlases.
Exposition of Front End Build Systems
Frontend build systems are crucial in web development, involving transpilation, bundling, and minification steps. Tools like Babel and Webpack optimize code for performance and developer experience. Various bundlers like Webpack, Rollup, Parcel, esbuild, and Turbopack are compared for features and performance.
Adding view count and like button to 11ty
The article explains adding view count and like button to an 11ty blog using Express and Vercel serverless functions. It details challenges, solutions, code snippets, and suggests Next.js for easier integration.
Homegrown Rendering with Rust
Embark Studios develops a creative platform for user-generated content, emphasizing gameplay over graphics. They leverage Rust for 3D rendering, introducing the experimental "kajiya" renderer for learning purposes. The team aims to simplify rendering for user-generated content, utilizing Vulkan API and Rust's versatility for GPU programming. They seek to enhance Rust's ecosystem for GPU programming.