比如说你跟公司说你只关心如何在数据库中增删改查树状视图的数据部分,然后你要求你的工资跟公司招聘的其它技术人员的工资一样高,甚至你认为工资要求更高。
这样不仅仅是 asp.net 工具其实就没多大做用了,技术工具都是很次要的东西,关键是地是“人”的问题,这个“后台”职位会被那些能够垂直地负责一些小模块的新培训出来的程序员所取代。
比如说有一个“树状的视图展示”,那么某一个节点的下一级子树是展开的、还是折叠的?节点上要不要动态地用“徽章符号”来提示子树的数目呢?如何动态显示节点和节点之间的关联关系(用不同的线形)呢?
asp.net 程序员可以推卸说公司应该另外招聘好几种开发人员。但是那是什么样的公司?你现在真的是呆在这样的公司里吗?那么可真的是很清闲的工作。
不负责网页开发的 asp.net 的程序员肯定是没有前途的。只不过是你能推脱多少,公司有没有精力要求产品面向 html5 之类的进行转变,只是这种程度不同罢了。
web 应用的开发都是从web 前端出发,然后打通一个链条,适应千变万化的重构需求。基本上一个设计师就算是不亲自写每个代码文件,起码要能了解形成进度的所有细节。而假设把精力放在底层、仅仅放在自己感兴趣的那点地方,就不行了。一个好的设计师,对于自己不感兴趣的东西,只要用户需要,他也会重点地培养自己的兴趣,最重设计出来架构。
当你开发 web 交互式应用系统时,这个时候用户谁管你用什么数据库?是使用直接的 ashx 还是 web api 来读取 http post 方式?后台有没有用什么数据库系统?用户首先关心的就是你的 web 应用好用不好用、快不快、稳定不稳定,能不能跨平台.....
你使用 asp.net 干什么?总不能只是为了在 csdn 学习而好几年都不开放新产品吧?总是要用项目和产品来检验的。
其实我们抛开编程平台,先来理解“人”的问题,然后再来考虑技术,就会用好开发工具。我们说 asp.net 的时候几乎都是说如何更好地开发 web 应用。我自己尤其是重点来说的是企业级 web 应用设计开发方面。(而且我还假设许多程序员是程序设计师,能在小项目上独当一面搞软件设计,而不是简单地抄代码来的)
从需求场景出发,比较容易深入技术核心价值。比如说你说抛开 razor,那么回到有 razor 之前的核心价值和目标去,就容易理解为什么要抛开它。反之如果逃避前端设计开发需求,那么其实就算是 asp.net 再增加一堆的抄 java 和其它工具的机制,也等于零,它没有抄到未来核心技术而是抄前几年人家已经玩儿剩下、觉得可以公开出来的过时技术。
无论如何,评估一个工具都是从实际应用经验和众多项目的愿景出发的,不是从1、2个名词儿去“抠字眼儿”出发的。所以所有东西都有其合理的解释、有其自己最适合的场景。关键是你设定的应用的场景要让别人理解。
比如说你说 asp.net 程序员不搞页面设计、不管用户交互操作需求,那么这时候 asp.net 是干什么呢?这时候难道不是 windows service 更合适进行真正专业的服务器开发吗?还要 asp.net 干什么?