软件技术的发展(一)

软件业是IT行业的基础,从技术上看,分为两大内容:架构和编程语言。从用户分类来看,分为企业和个人。

在移动端没有火起来之前,软件业主要是为企业服务的,除了Office,个人电脑上安装的只是一些小的工具类软件。当时企业应用代表了软件业的技术方向,从架构上是从C/S向B/S转变。这种架构的转变,也强迫软件公司更换编程语言,人们从VB/Delphi换成了C#/JAVA。对企业应用来说,B/S有很多优点,其中就包括跨平台和容易升级。这个B是指Broswer浏览器,浏览器最开始就用来访问网页的,在当时“做网页的”和“做软件开发的”,是不同的群体,也在用着不同的技术,软件业转向B/S以后,有了前端和后端的区分,前端用HTML/CSS/JAVASCRIPT等实现界面交互,后端实现业务逻辑。理想的状态下,前端和后端分工合作,井水不犯河水。但从古自今这种理想都是没有达到的,两个原因:

1,降低成本的愿望是一直存在的。

2,人类竞争的本能是一直存在的。

做一个项目,之前需要两个人,如果一个人都能搞定,那自然会降低一些成本,于是后端和前端就要互相抢饭碗,都想把对方的活也一起给做了。现有的技术不能满足怎么办?也有两个办法:

1,学习对方的技术。

2,找个框架,用自己掌握的技术解决两个问题。

选择1方法的人,我认为是正常途径,选择2方法的人,是属于希望“走捷径”,走捷径并没有错。因为现在已经是2020年,具体细节就不谈了,在非移动端,我看到的结果是,走捷径的方法并不合适。我认为希望一种技术搞定多个方面,可以广义上称为跨平台,跨平台的驱动力仍是降成本。

跨平台的需求,在移动端兴起后,变得很突出。当前架构上看,人们自然会发现,移动端是属于C/S和B/S混合编程。而移动端有Android和iOS两个阵营。一个小项目,需要1后端,1本地;一个复杂点的项目,需要1后端,1前端,1本地。本地需要Android和iOS各一人。那么,要跨平台,就涉及到,跨Android和iOS,跨本地和前端,跨前端和后端这些选项。

可以认为,跨平台的需求,是软件业发展的方向,也称之为折腾的方向。因为这个方向竟然与业务无关。曾几何时,有人说掌握业务才是最重要,用什么语言不重要。那么时至今日,语言换了一遍了,软件业的用户们,你们是一如继往的觉得满意吗?是越来越好用了吗?软件从业人员要问,这种变化因为更换语言带来的吗,是因为成本增加带来的吗?

也许软件从业人员认为业务这种基础问题,已经不值一提,现在的主要问题是要“新和酷”,我们仔细想,新和酷实际上还是想降成本,想降成本就一定想跨平台。于是乎,跨平台框架如雨后春笋般纷纷出现,有大公司出的,有小公司出的,有国外的,有国产的,多如牛毛,其所用的技术各不相同。这一定会弱化原生开发的重要性,而原生是平台之所以成立的根基,这里有重大的选择性问题,就好比你很难想像Android和iOS在某一天突然宣布合并一样。下一篇文章再讨论。

接下来谈一谈降成本的问题,在我接触到的一些案例中,跨平台方案往往得不偿失,这里面不一定是方案本身的原因,也有可能是开发人员技术掌握不精,这是一个平衡性和风险控制的问题。我们不能要求现有开发人员全是顶尖高手,也很难靠招聘短时打造一个顶尖团队,选用什么技术,实际上风险是很大的。大公司有钱没关系,有坑就填坑,大不了推倒重来。但是小公司就难以承受,选用保守稳当的多人开发,还是选想通吃的跨平台方法,变成了一个难题。

我想这个问题没有终极答案,技术也在进步,人材也不断在变化。但是针对不同团队,有一个符合不同现状的评判,是必要的。

发布了57 篇原创文章 · 获赞 94 · 访问量 34万+

猜你喜欢

转载自blog.csdn.net/ctcwri/article/details/104208410
今日推荐