[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-webassembly-browser-c-to-wasm-tutorial-en":3,"article-related-webassembly-browser-c-to-wasm-tutorial-en":31,"series-tools-8c917808-bf7a-4d45-84a9-2e3d71a65e2b":76},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":22,"views":27,"created_at":28,"published_at":29,"topic_cluster_id":30},"8c917808-bf7a-4d45-84a9-2e3d71a65e2b","webassembly-browser-c-to-wasm-tutorial-en","WebAssembly in the Browser: a C-to-WASM tutorial","\u003Cp data-speakable=\"summary\">A May 2026 tutorial shows how to write, compile, test, and deploy a C WebAssembly app entirely in \u003Ca href=\"\u002Ftag\u002Fgithub\">GitHub\u003C\u002Fa> Codespaces and the browser.\u003C\u002Fp>\u003Cp>In a May 12, 2026 tutorial on \u003Ca href=\"https:\u002F\u002Ftowardsdatascience.com\u002F\" target=\"_blank\" rel=\"noopener\">Towards Data Science\u003C\u002Fa>, Luciano Abriata walks through building a first WebAssembly app from C code without leaving the browser. The demo uses \u003Ca href=\"https:\u002F\u002Fgithub.com\u002F\" target=\"_blank\" rel=\"noopener\">GitHub\u003C\u002Fa> repositories, \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcodespaces\" target=\"_blank\" rel=\"noopener\">GitHub Codespaces\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Femscripten.org\u002F\" target=\"_blank\" rel=\"noopener\">Emscripten\u003C\u002Fa> to compile, test, and run a tiny “Hello WASM!” program entirely online.\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>項目\u003C\u002Fth>\u003Cth>數值\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Publication date\u003C\u002Ftd>\u003Ctd>May 12, 2026\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Core tool\u003C\u002Ftd>\u003Ctd>Emscripten\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Cloud dev environment\u003C\u002Ftd>\u003Ctd>GitHub Codespaces\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Sample output\u003C\u002Ftd>\u003Ctd>Hello WASM!\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>What changed\u003C\u002Fh2>\u003Cp>The article argues that browsers are no longer just a display layer. With WebAssembly, compiled languages like C, C++, and \u003Ca href=\"\u002Ftag\u002Frust\">Rust\u003C\u002Fa> can run in the browser at near-native speed, which lets developers move compute-heavy logic from servers or native apps into a webpage.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779168228669-ysdt.png\" alt=\"WebAssembly in the Browser: a C-to-WASM tutorial\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>Abriata’s walkthrough focuses on a simple workflow: write C code, compile it with Emscripten, generate the WASM binary plus browser glue code, and launch the result through a web page. He keeps the whole process inside GitHub Codespaces, so the setup needs no local install and only a free GitHub account.\u003C\u002Fp>\u003Cul>\u003Cli>Create a GitHub repository and open it in Codespaces.\u003C\u002Fli>\u003Cli>Write a C file in the browser-based editor.\u003C\u002Fli>\u003Cli>Install and activate Emscripten in the Codespaces terminal.\u003C\u002Fli>\u003Cli>Compile to .wasm, .js, and .html files, then serve them with a Python HTTP server.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Why it matters\u003C\u002Fh2>\u003Cp>For developers building scientific tools, data apps, or browser-based analysis, the payoff is practical: existing C libraries can be reused instead of rewritten in JavaScript. That matters when the code already exists, is optimized, and is hard to port by hand.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779168225340-a52s.png\" alt=\"WebAssembly in the Browser: a C-to-WASM tutorial\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>The browser-only workflow also lowers the barrier for experimentation. Teams can share a link instead of shipping installers, dependency stacks, or OS-specific builds, which makes demos, teaching, and lightweight deployment easier.\u003C\u002Fp>\u003Cp>Abriata frames WebAssembly as a bridge between web accessibility and native-style compute. JavaScript still handles the interface, but WASM can do the heavy lifting behind it.\u003C\u002Fp>\u003Cp>The takeaway is simple: if your app needs speed and portability, the browser can now host more than UI. The open question is how many existing C and C++ tools will be moved there next.\u003C\u002Fp>","A May 2026 tutorial shows how to write, compile, test, and deploy a C WebAssembly app entirely in GitHub Codespaces and the browser.","towardsdatascience.com","https:\u002F\u002Ftowardsdatascience.com\u002Fyour-first-webassembly-program-and-web-app-written-tested-and-deployed-entirely-in-the-web-browser\u002F",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779168228669-ysdt.png","tools","en","08d746ba-f428-4078-a652-afeab390810a",[17,18,19,20,21],"webassembly","emscripten","github-codespaces","c-programming","browser-development",[23,24,25,26],"WebAssembly lets compiled code run in the browser at near-native speed.","The tutorial builds a C-to-WASM app entirely in GitHub Codespaces.","Emscripten generates the WASM binary, JS glue, and HTML launcher.","The browser-only setup avoids local installs and dependency conflicts.",6,"2026-05-19T05:23:25.815492+00:00","2026-05-19T05:23:25.807+00:00","8360fa49-34e5-46c0-bde0-60d98cfa732c",{"tags":32,"relatedLang":35,"relatedPosts":39},[33],{"name":34,"slug":17},"WebAssembly",{"id":15,"slug":36,"title":37,"language":38},"webassembly-browser-c-to-wasm-tutorial-zh","瀏覽器裡的 C-to-WASM 教學","zh",[40,46,52,58,64,70],{"id":41,"slug":42,"title":43,"cover_image":44,"image_url":44,"created_at":45,"category":13},"68f6dc32-dcf1-4e46-bae8-c07a4cbd44df","aliyun-bailian-token-plan-credits-agents-en","Aliyun Bailian Token Plan turns credits into agents","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783929838532-ki2e.png","2026-07-13T08:03:24.626056+00:00",{"id":47,"slug":48,"title":49,"cover_image":50,"image_url":50,"created_at":51,"category":13},"c76b9129-a81c-4a4b-b091-9489ffe829f6","one-api-gateway-turns-six-ai-apis-into-one-en","One API gateway turns six AI APIs into one","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783883025713-28du.png","2026-07-12T19:03:22.716277+00:00",{"id":53,"slug":54,"title":55,"cover_image":56,"image_url":56,"created_at":57,"category":13},"50c7cf16-6635-4efe-bede-69fd0f353b9e","openai-fdes-turn-broken-agents-into-shipped-systems-en","OpenAI FDEs turn broken agents into shipped systems","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783881220836-m06o.png","2026-07-12T18:33:16.75123+00:00",{"id":59,"slug":60,"title":61,"cover_image":62,"image_url":62,"created_at":63,"category":13},"5752672f-9057-4503-a63b-2b5a5c401826","anthropic-daily-brief-news-into-workflow-en","Anthropic’s daily brief turns news into a workflow","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783879419545-ilw8.png","2026-07-12T18:03:12.174145+00:00",{"id":65,"slug":66,"title":67,"cover_image":68,"image_url":68,"created_at":69,"category":13},"9e6bbd74-bd93-44af-9663-5a0373919ece","claude-reflect-turns-usage-into-retention-en","Claude Reflect turns usage into retention","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783793005525-jxzy.png","2026-07-11T18:03:01.957727+00:00",{"id":71,"slug":72,"title":73,"cover_image":74,"image_url":74,"created_at":75,"category":13},"a2b9cbbc-cee7-4f54-8417-0e646982c6bc","midjourney-turns-prompt-ideas-into-art-en","Midjourney turns prompt ideas into art","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783693998411-hvxw.png","2026-07-10T14:32:56.24676+00:00",[77,82,87,92,97,102,107,112,117,122],{"id":78,"slug":79,"title":80,"created_at":81},"8008f1a9-7a00-4bad-88c9-3eedc9c6b4b1","surepath-ai-mcp-policy-controls-en","SurePath AI's New MCP Policy Controls Enhance AI Security","2026-03-26T01:26:52.222015+00:00",{"id":83,"slug":84,"title":85,"created_at":86},"27e39a8f-b65d-4f7b-a875-859e2b210156","mcp-standard-ai-tools-2026-en","MCP Standard in 2026: Integrating AI Tools","2026-03-26T01:27:43.127519+00:00",{"id":88,"slug":89,"title":90,"created_at":91},"165f9a19-c92d-46ba-b3f0-7125f662921d","rag-2026-transforming-enterprise-ai-en","How RAG in 2026 is Transforming Enterprise AI","2026-03-26T01:28:11.485236+00:00",{"id":93,"slug":94,"title":95,"created_at":96},"6a2a8e6e-b956-49d8-be12-cc47bdc132b2","mastering-ai-prompts-2026-guide-en","Mastering AI Prompts: A 2026 Guide for Developers","2026-03-26T01:29:07.835148+00:00",{"id":98,"slug":99,"title":100,"created_at":101},"3ab2c67e-4664-4c67-a013-687a2f605814","garry-tan-open-sources-claude-code-toolkit-en","Garry Tan Open-Sources a Claude Code Toolkit","2026-03-26T08:26:20.245934+00:00",{"id":103,"slug":104,"title":105,"created_at":106},"66a7cbf8-7e76-41d4-9bbf-eaca9761bf69","github-ai-projects-to-watch-in-2026-en","20 GitHub AI Projects to Watch in 2026","2026-03-26T08:28:09.752027+00:00",{"id":108,"slug":109,"title":110,"created_at":111},"9f332fda-eace-448a-a292-2283951eee71","practical-github-guide-learning-ml-2026-en","A Practical GitHub Guide to Learning ML in 2026","2026-03-27T01:16:50.125678+00:00",{"id":113,"slug":114,"title":115,"created_at":116},"1b1f637d-0f4d-42bd-974b-07b53829144d","aiml-2026-student-ai-ml-lab-repo-review-en","AIML-2026 Is a Bare-Bones Student Lab Repo","2026-03-27T01:21:51.661231+00:00",{"id":118,"slug":119,"title":120,"created_at":121},"6d1bf3f6-e191-4d30-b55b-8a0722fa6afe","ai-trending-github-repos-and-research-feeds-en","AI Trending Tracks Repos and Research Feeds","2026-03-27T01:31:35.709532+00:00",{"id":123,"slug":124,"title":125,"created_at":126},"010539a1-4c3a-4bd3-937a-26616422ee0d","awesome-ai-for-science-research-tools-map-en","Awesome AI for Science Is Becoming a Real Research Map","2026-03-27T01:46:50.89513+00:00"]