先驱工具如Phoenix通过Elixir的框架LiveView,允许开发者为实时应用创建基于浏览器的UI,如聊天室和Twitter风格的应用。LiveView仅需一点JavaScript建立WebSocket连接,用于处理用户输入和接收服务端更新的HTML/CSS。LiveView并非首个提供后端开发者创建前端UI能力的平台,微软的.NET ASP.NET Web Forms等工具已存在多年,启发了许多新工具。
尽管LiveView基于Elixir开发,Ruby on Rails也出现了类似构建实时应用的方法,如StimulusReflex和Hotwire。Rails开发者认为新工具满足了他们的需求,强调可扩展性是大多数现实世界问题的根本原因,而非编程语言本身。Laravel的Livewire通过AJAX请求传递状态,虽然不像Phoenix LiveView那样实时,但提供了类似的功能。
LiveView和类似工具的兴起表明,随着技术的发展,前后端界限变得模糊,计算在客户端和服务端之间更加平衡。React Server Components等新特性进一步推动了这一趋势,使得更多计算任务在服务端执行。开发者需要根据目标和偏好选择最适合的工具和技术,以实现最佳性能和用户体验。