box2d-wasm VS vite

Compare box2d-wasm vs vite and see what are their differences.

box2d-wasm

Box2D physics engine compiled to WebAssembly. Supports TypeScript and ES modules. (by Birch-san)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
box2d-wasm vite
7 789
243 64,769
- 0.9%
0.0 9.9
almost 2 years ago 5 days ago
TypeScript TypeScript
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

box2d-wasm

Posts with mentions or reviews of box2d-wasm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-21.
  • Article reply “Godot is not the new Unity” from Juan Linietsky (BDFL of Godot)
    2 projects | news.ycombinator.com | 21 Sep 2023
    https://github.com/Birch-san/box2d-wasm.) Godot uses box2d, too, so that would be convenient, if I switch to godot, but only if it is worth the performance improvement, which it currently does not seem to be. Maybe next year.
  • WebGPU – All of the cores, none of the canvas
    7 projects | news.ycombinator.com | 16 Jul 2023
    Following the article, you build a simple 2D physic simulation (only for balls). Did by chance anyone expand on that to include boxes, or know of a different approach to build a physic engine in WebGPU?

    I experiemented a bit with it and imolemented raycasting, but it is really not trivial getting the data in and out. (Limiting it to boxes and circles would satisfy my use case and seems doable, but getting polygons would be very hard, as then you have a dynamic size of their edges to account for and that gives me headache)

    3D physic engine on the GPU would be the obvious dream goal to get maximum performance, but that is really not an easy thing to do.

    Right now I am using a Box2D for wasm and it has good performance, but it could be better.

    https://github.com/Birch-san/box2d-wasm

    The main problem with all this is the overhead of getting data into the gpu and back. Once it is on the gpu it is amazingly fast. But the back and forth can really make your framerates drop - so to make it worth it, most of the simulation data has to remain on the gpu and you only put small chanks of data that have changed in and out. And ideally render it all on the gpu in the next step.

    (The performance bottleneck of this simulation is exactly that, it gets simulated on the gpu, then retrieved and drawn with the normal canvasAPI which is slow)

  • Running JS physics in a webworker - part 1 - proof of concept
    6 projects | dev.to | 30 Oct 2021
    box2dwasm - an old, still maintained C++ library compiled to WASM. The documentation is lacking and developer experience seems poor.
  • Show HN: WASM and WebGL Fluid Simulation
    11 projects | news.ycombinator.com | 29 Jul 2021
    network inspector says 2.1MB. but that's dominated by a 1.3MB image.

    the main assets of the library are:

    - Box2D.simd.js (422kB)

    - Box2D.simd.wasm (266 kB)

    a minimal demo that uses the library can be created in just a few kB:

    https://github.com/Birch-san/box2d-wasm/tree/master/demo/mod...

  • [AskJS] How could I implement realistic fluids simulations (SPH?) in my video game?
    3 projects | /r/javascript | 9 Mar 2021
    A couple weeks ago I ported liquidfun to TypeScript + WebAssembly: https://github.com/Birch-san/box2d-wasm/releases/tag/v4.0.0-liquidfun.0

vite

Posts with mentions or reviews of vite. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-29.
  • Top 12+ Battle-Tested React Boilerplates for 2024
    5 projects | dev.to | 29 Apr 2024
    Vite focuses on providing an extremely fast development server and workflow speed in web development. It uses its own ES module imports during development, speeding up the startup time.
  • Vite vs Nextjs: Which one is right for you?
    3 projects | dev.to | 29 Apr 2024
    Vite and Next.js are both top 5 modern development framework right now. They are both great depending on your use case so we’ll discuss 4 areas: Architecture, main features, developer experience and production readiness. After learning about these we’ll have a better idea of which one is best for your project.
  • Setup React Typescript with Vite & ESLint
    1 project | dev.to | 25 Apr 2024
    import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' import path from 'path' // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], server: { port: 3000 }, css: { devSourcemap: true }, resolve: { alias: { '~': path.resolve(__dirname, './src') } } })
  • Approaches to Styling React Components, Best Use Cases
    2 projects | dev.to | 24 Apr 2024
    I am currently utilizing Vite:
  • Getting started with TiniJS framework
    7 projects | dev.to | 20 Apr 2024
    Homepage: https://vitejs.dev/
  • Use CSS Variables to style react components on demand
    1 project | dev.to | 16 Apr 2024
    Without any adding any dependencies you can connect react props to raw css at runtime with nothing but css variables (aka "custom properties"). If you add CSS modules on top you don't have to worry about affecting the global scope so components created in this way can be truly modular and transferrable. I use this with vite.
  • RubyJS-Vite
    11 projects | news.ycombinator.com | 15 Apr 2024
    Little confused as to why it has vite in it‘s name, it seems unrelated to https://vitejs.dev/
  • Ask HN: How do we include JavaScript scripts in a browser these days?
    1 project | news.ycombinator.com | 13 Apr 2024
    it says in their docs that they recommend Vite https://vitejs.dev/

    it goes like this.

    1. you create a repo folder, you cd into it.

    2. you create a client template using vite which can be plain typescript, or uses frameworks such as react or vue, at https://vitejs.dev/guide/

    3. you cd in that client directory, you npm install, then you npm run dev, it should show you that it works at localhost:5173

    4. you follow the instructions on your url, you do npm install @web3modal/wagmi @wagmi/core @wagmi/connectors viem

    5. you follow the further instructions.

    > It seems like this is for npm or yarn to pull from a remote repository maintained by @wagmi for instance. But then what?

    you install the wagmi modules, then you import them in your js code, those code can run upon being loaded or upon user actions such as button clicks

    > Do I just symlink to the node_modules directory somehow? Use browserify? Or these days I'd use webpack or whatever the cool kids are using these days?

    no need for those. browserify is old school way of transpiling commonjs modules into browser-compatible modules. webpack is similar. vite replaces both webpack and browserify. vite also uses esbuild and swc under the hood which replaces babel.

    > I totally get how node package management works ... for NODE. But all these client-side JS projects these days have docs that are clearly for the client-side but the ES2015 module examples they show seem to leave out all instructions for how to actually get the files there, as if it's obvious.

    pretty much similar actually. except on client-side, you have src and dist folders. when you run "npm run build" vite will compile the src dir into dist dir. the outputs are the static files that you can serve with any http server such as npx serve, or caddy, or anything really.

    > What gives? And finally, what exactly does "browserify" do these days, since I think Node supports both ES modules and and CJS modules? I also see sometimes UMD universal modules

    vite supports both ecmascript modules and commonjs modules. but these days you'll just want to stick with ecmascript which makes your code consistently use import and export syntax, and you get the extra benefit of it working well with your vscode intellisense.

    > In short, I'm a bit confused how to use package management properly with browsers in 2024: https://modern-web.dev/guides/going-buildless/es-modules/

    if people want plain js there is unpkg.com and esm.sh way, but the vite route is the best for you as it's recommended and tested by the providers of your modules.

    > And finally, if you answer this, can you spare a word about typescript? Do we still need to use Babel and Webpack together to transpile it to JS, and minify and tree-shake, or what?

    I recommend typescript, as it gives you better type-safety and better intellisense, but it really depends. If you're new to it, it can slow you down at first. But as your project grows you'll eventually see the value of it. In vite there are options to scaffold your project in pure js or ts.

  • Deploy a react projects that are inside a subdirectories to GitHub Pages using GitHub Actions (CI/CD)
    2 projects | dev.to | 11 Apr 2024
    First you have to know that all those react projects are created using Vite, and for each of them, you need change the vite.config.ts file by adding the following configuration:
  • CSS Hooks and the state of CSS-in-JS
    1 project | dev.to | 10 Apr 2024
    CSSHooks works with React, Prereact, Solid.js, and Qwik, and we’re going to use Vite with the React configuration. First, let's create a project called css-hooks and install Vite:

What are some alternatives?

When comparing box2d-wasm and vite you can also consider the following projects:

rapier - 2D and 3D physics engines focused on performance.

Next.js - The React Framework

PixiJS - The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.

parcel - The zero configuration build tool for the web. 📦🚀

box2d.ts - Full blown Box2D Ecosystem for the web, written in TypeScript

esbuild - An extremely fast bundler for the web

LiquidFun - 2D physics engine for games

swc - Rust-based platform for the Web

Box2D - Box2D is a 2D physics engine for games

astro - The web framework for content-driven websites. ⭐️ Star to support our work!

comlink - Comlink makes WebWorkers enjoyable.

Rollup - Next-generation ES module bundler