@
bigfa 我公司有个技术大牛.. 18年的程序员. 他说他工作时参与的第一个程序叫 3721 ( 360安全卫士他祖宗) , 之后工作一直跟着他老大拼, client端安全大牛.
这位大牛现在在搞"前端". 对你没听错,18年的程序员在搞『被b4的前端』.
按照现在的技术框架,大部分时间不用怎么写后段代码,前段代码和部署方面所用的成本越来越高.
为什么后台coding在变弱?
做一个项目,做一个产品. 后台服务器多数情况负责数据存取,流程处理, 支付 balalala....
如果用Rails, 多数情况是找个中 gem, 然后拼接到自己的数据结构上.
用Java, 找各种framework, 配置各种@
anotation, 各种xml
为了保证后台代码的健壮性, BDD/TDD的方式开发, 代码很少会失控.
为什么部署成本高?
曾经遇见过的情况, 2天用Playframework 2 for Java在客户原有的基础上server 做了一个活动+评论系统的API, 部署到集成ok, 用了5天. 后期客户自己运营, 算是松了口气.
自己机器上好好的, 跑production环境各种挂. 开发xx月上线x月, 很容易发生.
持续继承,持续发布能够解决这个问题. 其中会涉及 feature toggle, docker, AWS balabala ...
最后,前端为毛高呢?
以前系统刚从C/S => B/S架构时, 能用就行. 现在已经变得必须好用.
直接面向用户
运行环境很苛刻. ( 客户会用各种奇葩浏览器: IE 6 ~ IE x, 浏览器会有各种奇葩插件).
前端交互方式直接影响客户用的爽不爽
安全问题, CSRF, XXS....
奇葩的javascript
奇葩的CSS
奇葩的DOM
... ...
最后,贴短代码玩玩. javascript callback 也是一个问题. 不懂functional programming也理解不了js function的精髓.
```
function changeSharing (uri, originVal) {
var shared = parseInt(originVal) === 1 ? 0 : 1;
update(uri, { shared: shared }, function(obj) {
toggleSharingButton(parseInt(obj.shared));
});
}
function shareAction(func) {
return function(e) {
e.preventDefault();
$(this).disable();
func($(this).attr('href'), $(this).data('shared'));
};
}
function showProject (project) {
$('#detail').html(projectTmpl(project));
$('#share-button').click(shareAction(changeSharing));
}
```