
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
web应用程序开发是目前大多数软件开发程序员都在学习和应用的一个互联网编程开发技术,而本文我们就通过案例分析来简单了解一下,web应用程序开发会用到哪些技术。
1、原生应用程序
越来越多的框架为原生平台(如ReactNative)提供了运行、迁移或编译应用程序的方法,以便将它们作为独立应用程序部署到Android或iOS移动系统上。
除了考虑开发真正的原生应用程序之外,更普遍的解决方案是将Web应用程序嵌入到原生容器中,比如之前的PhoneGap(现已停止维护)或ApacheCordova,现在的NativeScript(它支持框架,如Angular,也支持普通的应用程序),或者像Electron这样的原生Web应用程序包装器,或者Electron的轻量级后继者Tauri。
2、服务器端渲染
很多框架在前端和后端运行的代码是相似的,这样更容易实现对SEO友好的服务器端渲染(SSR)。
这可能是一个又酷又便利的特性,但需要注意的是,它也可能导致服务器锁定。因此,在向应用程序引入框架锁定之前,你需要考虑它对项目、基础设施、客户端技术等方面的影响。
所幸的是,你也可以在不使用框架的情况下实现这个特性。
3、从服务器端渲染
采用普通的实现方案在一开始看起来很简单:不就是返回HTML吗?是的,你已经有现成的组件了,但是:
你还需要一个服务器端DOMAPI,因为默认情况下,服务器端不提供DOMAPI。
你的渲染组件不能假设是DOM是在客户端或服务器端,也就是说,不要使用全局DOM,因为在服务器端,每个请求都需要一个DOM。要做到这一点,你需要从(客户端或服务器)应用程序上下文中选择DOM对象,而不是直接获取。
在客户端和服务器应用程序之间共享渲染组件有多种办法,比如将其发布在包存储库中,但灵活的应该是让应用程序包引用monorepo中的模块。
4、添加交互性
然而,一旦HTML元素被转换成字符串,在这些元素上设置的所有事件处理器都丢失了。为了恢复交互性,你需要一些“补水”步骤,也就是注入脚本,让它们在客户端执行。框架因其普适性很难做到这一点。就拿影子DOM来说,它们不断尝试改进算法,希望能够以聪明的方式做到这一点,但如果我们把问题缩小到应用程序层面,就会变得简单很多。
当然,在普通的服务器应用程序中做到这一点也意味着需要将JS脚本注入到响应消息中(通过引用或内联,具体取决于你想要怎样的“渐进”程度,比如将Web组件所需的代码嵌入到HTML响应中,让它们在客户端执行)。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。