文章摘要
文章强调在网页开发中应优先使用HTML而非JavaScript生成内容,因为JavaScript加载和运行较慢,易出错且难以阅读,而HTML在大多数情况下更为高效。作者认为JavaScript更适合用于增强现有内容和添加HTML无法处理的交互性,而非替代HTML。
文章总结
标题:直接使用HTML
主要内容:
在最近的许多项目中,作者发现由于过度依赖JavaScript生成HTML,导致项目变得比实际需要的更为复杂。JavaScript在加载速度、运行效率、代码可读性以及最终输出效果等方面都不如直接使用HTML。尽管JavaScript在增强现有功能和添加交互性方面表现出色,但在许多情况下,直接使用HTML是更好的选择。
表单提交示例: 在React和JSX中,常见的做法是为表单中的每个输入添加监听器,通过状态管理来更新输入值,这种做法不仅复杂,还可能导致性能问题。相比之下,直接使用HTML表单可以简化代码,并且保留原生表单的易用性和可访问性。通过少量的JavaScript代码,可以进一步增强表单的功能,而无需复杂的逻辑。
API响应示例: 在处理API响应时,现代应用通常通过JSON数据生成HTML表格。然而,如果服务器能够直接返回HTML表格,前端只需将其插入到页面中,这样可以减少客户端的处理负担,提升应用的性能和可靠性。
工作流程的变化: 这种开发方式将更多的工作转移到后端,简化了前端代码,使得应用更加快速、简单且可靠。虽然这改变了传统的应用构建流程,但最终结果是更好的用户体验和更高效的开发过程。
总结: 直接使用HTML可以简化开发流程,提升应用性能,减少不必要的复杂性。尽管JavaScript在某些场景下仍然有用,但在许多情况下,HTML已经足够强大,能够满足需求。
评论总结
评论总结:
支持使用JavaScript的观点:
- JavaScript可以提高页面的响应速度,允许部分加载,减轻服务器负担。
- "javascript makes the page more responsive. Parts can be loaded via separate calls" (评论1)
- "wasting bandwidth for UI which could be defined once in JS and cached is annoying" (评论3)
- 复杂的UI功能(如表单验证、表格排序和过滤)在JavaScript中更容易实现。
- "as soon as you try to implement any sort of advanced validation using just HTML, the whole paradigm falls apart" (评论4)
- "These are all super common features of tables, especially larger ones, and all of this functionality is way easier to implement client-side than server-side" (评论20)
- JavaScript可以提高页面的响应速度,允许部分加载,减轻服务器负担。
支持使用HTML的观点:
- 简单的HTML表单和页面渲染可以快速实现,适合小型项目或独立开发者。
- "I often do, just use HTML, when working on a completely solo project" (评论19)
- "Server-side rendering of HTML is really fast if an efficient compiled language is used" (评论15)
- 服务器端渲染的HTML对爬虫友好,且不需要复杂的JavaScript框架。
- "Server rendered HTML is also scraper friendly because the scraper then doesn’t need to use a virtual browser" (评论15)
- 简单的HTML表单和页面渲染可以快速实现,适合小型项目或独立开发者。
对混合使用的看法:
- 一些开发者认为,结合使用HTML和JavaScript可以在不同场景下取得平衡。
- "I used jQuery, and for the latest one I tried htmx — but it wasn’t quite enough, so I had to mix in some vanilla JS as well" (评论12)
- "Still requires Javascript, but makes writing HTML a lot more fun" (评论13)
- 一些开发者认为,结合使用HTML和JavaScript可以在不同场景下取得平衡。
对复杂项目的担忧:
- 在大型项目或多团队环境中,纯HTML解决方案可能难以扩展和维护。
- "This isn’t scalable for any kind environment with multiple services and teams" (评论11)
- "Once you start bolting on all this stuff to HTML, congratulations, you have built a web framework" (评论16)
- 在大型项目或多团队环境中,纯HTML解决方案可能难以扩展和维护。
对JSON与HTML的对比:
- JSON格式的API响应更灵活,适合跨平台使用,而HTML响应可能带来额外的复杂性。
- "Having the server return plain JSON means the APIs can be reused across products effortlessly" (评论8)
- "Then you just gotta write the same HTML generating code on the server, isn’t it?" (评论7)
- JSON格式的API响应更灵活,适合跨平台使用,而HTML响应可能带来额外的复杂性。
总结:
评论中,支持JavaScript的观点主要集中在复杂功能的实现和页面响应速度上,而支持HTML的观点则强调简单性和快速开发。对于混合使用和复杂项目的担忧,开发者们提出了不同的看法,认为应根据项目需求选择合适的工具。JSON与HTML的对比中,JSON被认为更灵活,适合跨平台使用。