❶ 当 Java 遇到 Jade:票牛 PC 版前后端分离的实践
当 Java 遇到 Jade:票牛 PC 版前后端分离的实践
在票牛PC版的开发过程中,我们遇到了前后端合作的问题,特别是在考虑到SEO因素的情况下,如何高效地进行前后端分离成为了一个关键议题。以下是我们遇到的问题、解决方案以及关于jade4j模板引擎的详细介绍。
一、遇到的问题
在票牛PC版的开发初期,我们面临的主要问题是如何在保证SEO效果的同时,实现前后端的高效合作。之前m站使用纯AJAX的方式,前端和后端可以独立开发,合作非常顺畅。但是PC版由于需要考虑到SEO,因此不能采用纯AJAX的做法,而是需要在后端渲染模板并输出。
我们选择了FreeMarker作为后端模板引擎,前端写好JS、CSS以及静态Html,再由后端工程师来“套模板”。这种方案在需求稳定的情况下是可行的,但是在创业公司快速迭代的背景下,每次都需要前后端两个人一起修改代码,效率较低。
二、使用的方案
为了解决这个问题,我们制定了一套自己的前后端分离方案:
后端Java写Controller:由于之前已经开发过手机API,大部分代码都可以复用,因此仍然由后端Java来写Controller。
使用Jade作为模板语言:前端同学习惯了使用Jade写页面,因此我们选择了Jade作为模板语言。为了将Jade模板与Java后端集成,我们找到了jade4j这个模板引擎。
远程模板加载器:为了让Jade模板能够跟随前端项目发布,我们定制了一个远程的模板加载器。这个加载器会通过HTTP方式读取前端项目的模板并加载到后端,从而实现前后端的分离。
三、关于jade4j
在整个方案中,jade4j模板引擎的质量是关键的风险点。以下是我们对jade4j的评估:
使用方法:jade4j的代码结构与FreeMarker非常相似,因此入手比较容易。我们与前端同学一起完成了从FreeMarker到jade的迁移,发现语法的兼容程度相当高。
性能:目前票牛PC站已经全部切换到了jade4j。在一个普通页面的渲染速度测试中,jade4j的渲染速度大约在6-9ms之间,比FreeMarker只是稍慢,已经能满足需求。
通过这套方案,前后端又能愉快地各自写各自的代码了。这种前后端分离的实践不仅提高了开发效率,还使得前端同学能够更加专注于页面的渲染和用户体验的优化,后端同学则能够更加专注于业务逻辑的处理和数据的提供。
总的来说,当Java遇到Jade时,我们通过jade4j模板引擎和远程模板加载器实现了票牛PC版的前后端分离。这种方案不仅解决了我们面临的问题,还为未来的快速迭代和持续优化打下了坚实的基础。
❷ IT工程师到底是做什么的
是做编程的
编程来实现信息化建设任务
比如你看到网页能显示这些东西,点按钮跳到另外一个页面,中间都是计算机在处理信息,这些东西都是靠程序实现,
程序是由人来编写的,IT工程师就是干这个的,