最早 20 年以前,C++就能在后端编写代码,叫 CGI,模板是这样的( http://cppcms.com/wikipp/en/page/cppcms_1x_templates_comm)
<% c++ #include "all_data.h" %>
<% template render() %>
<ul><% include menu() %></ul>
<% end template %>
CGI 和早年 ASP 一样,属于后端模板,数据对于前端是不可见的。
但这种方法对现代 WEB 有个致命的缺点,就是用户交互的时候,每次都要生成一次 GET 请求,用户无法及时得到反馈,体验很不好。
现在我们有了新的解决方法,就是为每一个 WEB APP 用户,都建立一个专属 WEBSOCKET 通道,由于 WebSocket 自带压缩属性,我们可以通过以下方法,来减低数据量传输,提高实时性,达到用户交互高速访问目的。
总的来说,前端就是一个暗盒,页面所有元素,都是服务器端的虚拟 DOM 镜像版本。 然后所有的逻辑代码,区分为敏感逻辑和非敏感逻辑。把非敏感逻辑部分,编译成 emscripten 或 webasm(微信 iOS 小程序不支持 webasm, 只能编译成 emscripten 胶水 JS 版本), 在前端执行。两种逻辑通过 route 自动切换。
GoogleEarth 都能用 C++在前端运行,有什么理由不多尝试一下,前端不同的可能性?
放弃 innerHTML 赋值, 放弃 js 逻辑,全部改用 document.createDocumentFragment,多层封装 C++对象,加入消息反射机制和数据自动绑定,尝试开启 WEB3.0 的新时代。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.