在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Java转前端开发难吗?自 Java转向前端以来,它一直在思考近年来前端的变化。之前将数据填充到 html的过程在 Service上完成, Service的模版引擎,如jsp、 velocity、 freemarker等,支持循环和条件判断。
根据组件的概念,可以将一个页面或多个页面之间的相同部分提取为组件,如 jsp的@includevelocity的# weight,数据具有 page、 request、 session、application4个域,并进行了良好的层次结构处理, page用于存储当前页面的数据, request用于存储来自同一请求的数据, session中保存的是会话数据, application用于存储应用的全局数据。当然路由由服务器控制。
随着 Ajax的出现,由于可以异步获取数据,所以无需刷新页面即可请求数据,从而改善用户体验,因此越来越多的数据交互采用了异步方式,异步加载列表数据、异步分页、异步上传文件、异步提交表单、向模版填充数据等到,因此前端有许多模版引擎 mustache. js、 artTemplate. js、 jsmart. js等。
单页实现的功能越来越多,逐渐发展成为完整的单页应用程序,所有的数据交互都是通过 ajax完成的,然后单页的路由前端控制,页面中的逻辑独立的单元或需要重用的部分,都应该抽离到组件中,如 vue、 react、angular2等组件所提供的功能,比由服务端模版引擎提供的组件更加完善,支持参数切换,并在组件内部设置三层 mvc,增加单向或双向数据绑定。
有些数据不是组件内部的,而是全局的,多个组件共享的数据,比如服务空间就像、请求、会话、 application等等, facebook建议使用 flux架构来统一管理全局数据,并且一旦发生变化,会将其传递给 dispatcher action, store会相应地改变,组件会监视 store的变化并在 store变化时收到通知。
这里有许多代码,而且不可能全部写入一个文件,而且应该分割成多个文件,但是简单地分割多个文件就会产生全局变量命名冲突的问题,因此,在开发环境中使用模块的概念时,浏览器端的模块化规范 amd、 cmd及其实现 requirejs、 seajs,但是在开发环境中使用该规范时,文件不能分割得很细,所以开发环境中经常使用 commonjs的模块化规范,然后通过模块打包工具将其转换为浏览器端支持的代码。这段代码总是分而合之,模块化就是如此,比如 ui组件, js中只有一小部分具有独立功能的模块。
随着 ajax的出现,前后端功能、模版引擎、路由控制、数据分层管理等在前端得到了越来越。很多观点都有似曾相识的意味。但是 js是一种类型较弱的语言,在编写代码时,它的自动提示功能比 Java要好很多,使用 TypeScript可以使提示更准确,因为有了type-type功能,提示就更加精确。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
前端页面性能指标有哪些?
前端页面与用户直接面对面沟通,为了提升用户对前端页面的使用体验,前端工程师往往要对页面的性能进行优化。那一般前端工程师都需要优化哪些页面的性能指标呢?
9838
2019-07-16 18:17:31
博学谷JavaScript基础教程培训课程内容,
JavaScript基础教程培训课程,适合有一定JavaScript基础的人群进一步提升技术,学习目标:理解JavaScript基础知识、作用域、作用域链、变量声明和函数声明提升、学会混入、混合继承、静态成员和实例成员、学会构造函数、常见设计模式、原型、原型链、闭包以及this指向、函数四种调用模式。
4534
2020-05-11 14:50:19
前端开发中绝对路径和相对路径的区别是什么?
前端开发中绝对路径和相对路径的区别是什么?绝对路径和相对路径主要的区别是域名是否是完全网站,起作用是相同的。绝对路径指的是包含域名的完整网址,相对路径指的是不包含域名的被链接页面相对于当前页面的相对网址。
8860
2020-07-16 11:51:15
Web常用开发工具有哪些?常用工具推荐
IT程序员为了快速、高效地完成任务,会使用一些Web开发具来辅助完成工作,这些工具有代码高亮显示、语法提示等便捷功能的前端开发工具,对于开发者非常友好。
6133
2021-02-05 15:25:34
JavaScript框架的进步史:四次变革
很多在前端领域工作了一段时间的人可能都有过这样的经历,纠结使用哪种JavaScript框架、如何编写CSS、使用函数式编程还是面向对象编程、如何最好地管理状态、哪种构建系统或工具最灵活、最快速等。
2941
2022-05-06 11:07:37