一、软件应用的落地方式有哪些选择?
pc client、pc web、移动web、移动app。(涉及两个维度:分发端、实现方式。)
注: 以上说的应用是指针对普通用户的软件(不包括数据管理后台)
二、如何选择?
mobile vs pc ?相关参考因素:应用是否是资讯类、是否是场景应用、流程是否简单。
client vs web ?相关参考因素:性能、用户粘性、可维护性、跨平台支持。
1. 随着移动手机的普及和设备性能的不断增强,基于场景的应用都会在移动端实现。移动端实现有两种选择,移动web或原生app。
移动web的优势:迁移简单(传统web应用可以直接作为移动应用展示,不过应该针对移动屏幕及交换特性做交互优化设计),开发简单、跨平台、容易部署更新,
移动web的不足:费流量,访问慢、入口路径太长且不易。
原生移动app:优点是容易访问、相应速度快、性能好;不足之处在于跨平台麻烦,部署麻烦。
基于两者的优劣势,在这个用户中心的时代,移动应用最终都会以原生app的方式落地。在实现方面混合实现应该会有很好的情景。
除了场景应用,那些交互多、流程复杂的应用会在pc端实现;
性能要求高的应用会以pc客户端的形态实现。
综上web前端的用武之地为,应用对应的管理后台、交互多或流程复杂的非场景应用。
管理后台由于主要是特定部分人员用,用户群简单,并发不高,对技术要求不高,更多的是功能实现。
面向大众用户的pc web应用一般是那些给企业提供的产品,以及那些屏幕尺寸会带来好的用户体验的应用(例如 视频网站);但一般的应用虽然主要的以移动app方式落地,如果应用不是强依赖场景的话,都会有对应的web pc版本(以及移动web版本,虽然价值有限)
一个应用划分为“服务”和“端呈现”两部分,服务与应用落地方式无关(与是否web无关、与是否移动无关),即所谓的后端。下面说明作为前端之一的web前端。
三、web前端
通过上面的分析可以明确,web前端的用武之地在 数据管理后台、非强场景依赖的app的对应web版、作为内嵌部分的web部分(混合app、微信等)。
针对不同的目标,对web前端技术要求不一样;管理后台对兼容性及性能要求不高,用户访问大的站点对优化及兼容较高。所以,如果是去京东、阿里维护商城,那必须性能优化技术过硬。如果是去维护他们内部的管理后台,会熟练使用工具问题应该就不大,能抽象封装组件应该去平台组。
在我看来,前端的工作内容分为几种类型:平台建设型、领域专家型、页面开发型。
1. 平台建设主要是提供公共的工具,框架、组件等,对抽象能力、封装能力、架构要求高。
2. 领域专家型的工作要求对特定领域很熟悉,例如性能优化、特定应用算法的实现(地图绘制);
3. 页面开发型主要是要求常用工具的熟练度。
重复的页面开发,对一个人的价值发挥的太少,价值没能放大。专家型开发价值没被放大,要求高、稀缺,创建的价值也高。平台型开发价值在复用中放大。所以应该往平台和专家方向发力。而这些岗位基本上只有在大的公司才有岗位以及被重视。
四、所谓的大前端
多端适配(pc、mobile)、混合应用(react native)、往后端延申到数据接口层。、
五、前景
综上,作为端技术的web前端,在市场的需求最多(相对其他端),在大前端趋势下,涉及面较广,要求挺高的。水涨船高,能多方面出色的前端待遇应该很可观。
注:最最重要的是要明白所有岗位的价值潜力体现在其面对的问题域;前端问题域。
1. 界面层:gui实现,包括交互,性能(如何更好);
2. 软件工程相关问题:如何快速开发、如何做到易维护;
3. 特定领域算法。(例如游戏引擎、地图、图表、动画等)
网友评论