联网时代的来临从根本上改变了人们的生活方式,而在互联网的背后,软件则成为了互联网在人们日常生活中最常见的载体。每天,当我们打开手机、电脑等等,无论是用来工作、学习,还是娱乐,软件都成为了我们享受互联网时代福利的入口。

这些软件从哪来?这个问题的答案再简单不过,当然是人做出来的,而做出这些软件的人就是开发者。大到系统、行业软件,小到各种APP,如果没有了软件开发者,很难想象我们现在的生活会是什么样子。

因此在互联网的大潮之下,软件开发成为了无论大小,几乎每家企业都离不开的需求。除去有实力的企业能够打造自己的软件开发团队外,仍然有许多企业没有办法支持自己有强大的开发团队,因此在软件研发的工作上也分成了自主开发和外包体系。

那么对于软件开发行业来说,由于面对的业务以及自身定位的不同,因此在开发平台和开发工具的选用上面也有着不同的侧重点。而从目前来看,大部分的软件开发者都会选用微软.Net和Java这两种开发平台。

那么究竟平台间有什么不同,让我们来看看身处开发第一线的开发者们怎么说。

科技、金融成软件需求最高行业

在互联网成为了几乎人人都离不开的硬需求的当下,几乎各行各业对于软件的需求都达到了空前的庞大。不过对于不同的行业来说,对于软件的需求自然也有所不同。

记者从多家国内知名的软件外包服务厂商处了解到,目前其业务最主要面临的行业就是金融行业和科技行业。

据IBM GDC相关负责人介绍,目前其软件业务主要面向金融与电子行业居多,而这两个行业的业务比重能占到50%。这样的情况在博彦科技的身上也得到了印证,据博彦科技介绍,其软件外包业务主要面向的就是金融、科技、电信、汽车等行业。

除此之外,在云计算、大数据的环境下,各家企业也会做出不同的应对策略,以适应新环境下的客户需求。博彦科技就表示,目前他们的业务正逐渐向产品化转型,大数据和云计算将成为产品化的两个重要方向。

开发平台和开发工具都有啥?怎么用?

软件市场带来了如此巨大的需求,因此软件开发企业在平台的选择上自然也要考虑的全面,以应对当下的市场环境。而从调查中我们不难发现,在开发平台的选择上,各家主要以微软、Java以及自有平台为主。

博彦科技表示,“针对于High Tech行业我们主要使用微软的平台,开发工具主要使用Visual Studio系列,SQL Server Management Studio系列。对于互联网行业,针对后台我们主要使用Java为主,使用Eclipse进行开发。前台主要使用Java、Javascript以及PHP为主。”

而对于如何选择和使用,博彦科技也有着自己的看法,“使用Visual Studio系列的主要原因是其提供了一整套完整的、功能强大的研发平台, 能够支持多种解决方案开发而不需要切换开发工具。内置的多种工具和多语言的支持,让开发人员能够在同一个开发工具下完成不同的开发任务。同时visual studio的內建的扩展支持, 也让开发能够更加方便统一使用的插件的版本,避免了使用不同版本的插件造成的兼容问题。另外,其本身对于Azure的支持,让公有云的开发变得简单直接。最后,Visual Studio对于项目管理平台Team Foundation Server的集成,让项目管理能够和研发工作进行无缝的衔接。对于互联网行业来说,使用Java的比例远远高于.Net平台。Eclipse作为Java开发的主流开发工具,也满足了Java开发的大部分功能。同时,Eclipse同样的支持插件系统,通过插件系统,也能够让eclipse的适用面更广泛。”

IBM GDC也做出了类似的回应,“开发工具和平台有大机和JAVA,金融业的后台程序开发很多还是在大机平台,这是基于行业对于信息安全,系统稳定性的要求;电子行业以JAVA居多,也有一些.NET的需求。”

而除此之外,自主研发的平台也是许多大型软件公司经常会使用的的,浪潮国际相关负责人就表示:“目前公司的应用开发采用的是平台化策略,所有的应用都基于自主研发的浪潮GSP+企业互联网开放平台构建,通过这种平台化的方式,可实现应用的快速开发与灵活定制,保证应用架构的一致性与质量的可控性,也可支撑应用生态的不断丰富。”

工具不同,人才培养自然也不同

对于需对技术含量较高的工作来说,人才的培养一直是一个重点问题,而在软件开发领域里,亦是如此。除了培养之外,企业对于研发人才的需求也是多种多样,针对不同的产品、不同的业务,大家对于人才的需求也颇有不同。

在浪潮国际看来,由于多产品线以及多行业产品,因此他们对.NET、Java、iOS、Android、Web前端开发都有大量需求。同时针对不同的人才培养,浪潮国际也会根据不同的岗位定制专门的培训计划。不过在其看来,不同的开发方向上手的难易程度还是有些差异的,目前看Visual Studio开发效率最高,与.NET开发集成做的较好,最易上手;Java环境的搭建由于往往依赖较多开源项目且依赖关系复杂,因此上手相对较难。

“Java和.NET这两个阵营的定位、语言风格、框架接口都非常类似,没有什么适应性差异。如果某个领域有比较匹配的知名Java开源项目,我们会优先考虑Java,例如我们的搜索引擎就是基于开源的Apache Solr并给予Java扩展。在常规领域尤其是在UI要求较高的领域我们更倾向于使用.NET。”

据悉,浪潮国际在通用业务上,还是主要使用自主的GSP+平台,因为这些业务比较模式化,更适合平台化发展,不过当遇到一些个性化定制的项目,或者GSP+自身的一些开发应用时,就会选择使用.NET和Java相关的开发工具。

而博彦科技对于人才的培养方面也与之相似,针对不同的开发工具,在人员的培养上都有所细分,比如,对于Visual Studio来说,更多的是取决于开发人员对于Visual Studio自带的调试、测试功能的了解程度以及Visual Studio本身和其他产品的集成方法。而对于Eclipse或者Java平台来说,则会更加关注其对这一体系的工具和插件的了解程度。

同样,博彦科技也认为.NET平台对于开发人员来说更易上手,因此培养起相关人员时,反而能投入更少却得到更大的收益效果。“如果应用或者业务并不依赖于太多的开源工具或者平台,那么.Net可能是更好的选择, 因为其强大的开发平台,省去了很多工具整合上的工作。但如果需要使用一些小众的开源工具或者framework,那么 java可能更加适合, 因为可以找到更多的例子和案例来进行参考。”

博彦科技有着将近8000人左右的开发测试团队,因此他们的开发团队基本上涵盖了所有的开发软件,在这庞大的团队中,使用Visual Studio与Java相关开发工具的比例大约在1:3左右,除此之外,还有少量的项目管理人员也在使用Visual Studio开发工具。据透露,使用工具的体量主要还是取决于客户的需求。比如,对于专门这对微软的外包项目来说,博彦科技基本都在使用Visual Studio,这就有1000人之多,而对于非微软的项目,80%-90%基本都在使用Java, PHP, Python等免费开源的语言。

此外,据IBM GDC介绍,目前其团队的构成主要是以微软的技术为主,Visual Studio的使用量在150左右。

针对不同的开发工具,除了人才的培养之外,团队的配置也自然也不尽相同, 不过我们却也不难发现,在特定的场景使用特定的开发工具已经成为了每家企业最局效率和直接的做法,并且根据自身不同的现状,每家企业所选择的团队配置方式也不尽相同。因此,结合自身的业务特点,才是配置开发团队和选择开发工具最大的出发点。

究竟哪个好?对比一下就知道

其实从专业人士的认知中我们不难看出,相对于其他的开发工具来说,Java虽然在开放和自由度上有着很好的表现,但其复杂度也为软件的开发工作带来了不小的麻烦。而基于.NET的Visual Studio在上手难易度以及开发效率上都有着很好的表现,而且,Visual Studio如今也越来越开放,对于跨平台的支持也逐渐完善,同时在开源上,微软也已经增加了许多.NET的开放平台。

自然,一款十全十美的开发工具并不存在,但在移动互联网的高速发展下,开发工具自然也要时刻保持者与时俱进的态度。记者在采访博彦科技中了解到,虽然目前来说,Java平台和.Net平台对于移动互联网的支持都做的不错,而且功能也比较完备。但是由于大家对于.Net的印象还是依赖于windows平台,同时许多的开源工具往往又优先或者只提供Java的开发接口,所以现在的互联网公司基本都在使用Java。

而浪潮表示,针对移动设备端的开发,因为企业应用个性化场景非常多,Native的开发模式不适合快速变更与迭代,因此采用的是Hybrid模式,UI部分以H5为主,并封装设备底层的访问能力,在跨终端的同时还可以实现移动UI的快速上线,加上浪潮GSP+的UI快速建模工具与运行时扩展能力可以快速开发和个性化移动应用。针对云端的开发,则采用微服务架构,根据不同场景采用不同的技术,对于轻应用大多使用Node.js,具有一些复杂逻辑的使用了.NET Core与Java。

显而易见,针对不同的领域与趋势下,不同的开发软件和平台都有着不同的优势和劣势,因此在众多开发者看来,无论是Java还是.NET都有着不小的改善和提升空间。

对于.NET来说,它身上的微软标签或许显得过于厚重,而这在一定的程度上限制了其本身的应用。博彦科技认为,目前.net给人的感觉就是, 贵、大规模应用的性能也并不高。当然,我们看到微软正在积极地改变, 但是这个需要一个时间。而对于Java来说, 如何在开放、自由的同时,避免无谓地增加复杂度也是应当得到完善的。

而在浪潮国际看来,Java和.NET都是强类型的语言,提供了丰富的类库,完善的垃圾回收机制,面向企业级架构,非常适合编写业务逻辑复杂的企业应用。Java的UI开发与运行体验比较差,.NET虽然已经提供了.NET Core,ASP.NET Core等开源跨平台版本,但是其功能与现在的.NET Framework相比还有差距,希望尽快在新版本补齐。

而除了对上述的这些期待之外,IBM GDC也认为,在企业数字化转型的潮流之下,为了能尽快适应其中,让开发语言变得更加轻便,更便于部署,也是需要完善的一大方向。

免费or收费?免费午餐吃完后的下一步思考

最近,有一个重磅消息被许多行业人士所关注,就是Oracle对Java应用进行收费,其实在当下的软件开发行业中,开源与收费也一直都是企业和开发者们相当关注的话题,同时对于企业的决策层面也有着不小的影响。而在这个问题上,我们也看出了各个企业不太一样的态度。

博彦科技认为,Oracle对此的决定是一个必然阶段,因为天下并没有免费的午餐,而且也只有收费了,大企业也才敢将其进行商用。“对于市面上很多免费的软件和平台来说,最困难的就是你想花钱找到技术支持都很难,只能自己花更多的钱去找人来解决,而且方案往往没有办法复用或者共享。如果Oracle能不只是收取一笔license费用,同时还能提供更多的技术支持服务的话, 我觉得还是一个不错决定。现在使用Java的感觉更多像是DIY家具,而使用.Net更多像是买品牌家具。我们使用哪个技术更多, 还是需要取决于市场,而.net core目前来说还属于新兴事物。”

而浪潮国际的观点就与博彦科技比较不同,“在2014年与Oracle谈Java SE合作中就得知Java中有部分组件是需要授权的,当时感觉这仅仅是一个形式,但是最近Oracle通过法律手段追讨许可费用的事还是让人比较吃惊的。在越来越开放的大环境下,这种做法势必会损伤开发者选择Java的热情,加上去年传闻的Java EE停止更新的消息,势必会影响企业选择开发技术时的决策倾向。.NET发布开源跨平台的.NET Core及系列工具后,我们就密切关注并在部分公有云服务中尝试使用,Oracle的这个做法更坚定了我们使用.NET Core的想法。”

而来自IBM GDC的看法也与之相似,他们认为,收费的话自然会影响企业的开发技术决策,而最终的负担也都会落在企业和客户的身上。

就记者了解,在软件开发的行业之中,随着移动互联网时代的来临,快速变更的响应速度以及执行起来的效率已愈来愈为行业内人士所重视,除去收费预付费的影响之外,团队搭建的成本、人才投入的成本、技术支持的成本等等,也都成为了企业需要考虑到的要素。而通过这三家知名企业的分析之后,可以显而易见的是不同工具和平台的长短之差,而这也才是开发者们最值得关注的地方。

原文发布时间为:2017年2月13日 
本文作者:作者:齐丰润
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

开发平台怎么选?来看看专业人士怎么说相关推荐

  1. UI标签库专题九:JEECG智能开发平台 Choose(选则操作标签)

     1. Choose(选则操作标签) 1.1. 参数 属性名 类型 描述 是否必须 默认值 hiddenName string 隐藏域的ID 否 null hiddenid string 隐藏框i ...

  2. 度量快速开发平台端口映射的介绍

    度量快速开发平台在客户中部署的时候,可能会想内网与外网用户同时使用.一般情况下,服务端都是部署在内网的,那外网用户要访问,就可能用到端口映射的功能.端口映射基本都是在路由器上进行. 下面就是几个常用的 ...

  3. SNF快速开发平台MVC-高级查询组件

    1.   高级查询 在我们做项目的时候经常想要按名称.编号进行查询数据,可在开发时会把最常用的查询条件写上,不常用的就不写了,也是因为把所有字段都写上太多了,布局不好看而且不实用.还有些查询条件几百年 ...

  4. JavaEE企业级快速开发平台jeesite4的使用和快速搭建项目

    场景 JeeSIte是一个JavaEE企业级快速开发平台,基于经典技术组合(SpringBoot.Apache Shiro .MyBatis.Beetl.Bootstrap)在线代码生成工具,支持Sp ...

  5. NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用

    场景 NuGet NuGet(读作New Get)是用于微软.NET开发平台的软件包管理器,是一个Visual Studio的扩展.在使用Visual Studio开发基于.NET Framework ...

  6. 云开发平台开箱,3分钟零基础搭建个人Hexo博客

    简介:Hexo是一款基于Node.js的博客框架,可以将Markdown格式的文本渲染为HTML代码.所以,博客基本就是纯静态,维护相对方便.但是缺点也很明显--经常换编写环境使用不便,因为它的所有渲 ...

  7. SNF快速开发平台2019-权限管理模型简介-权限都在这里

    1.1    权限的概念 权限是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度.它常常用"具有批准--事项的权限"来进行表达.例如,具有批准预算外5000 ...

  8. 怎样搭建Android开发平台(转)

    Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放手机联盟(Open Handset Alliance)开 ...

  9. SNF开发平台WinForm之五-高级查询使用说明-SNF快速开发平台3.3-Spring.Net.Framework

    5.1运行效果: 5.2开发实现: 1.按上面效果来说,先来看一下在程序当中如果调用.第一步在页面拖拽一个按钮为"高级查询",事件上写下如下代码: 如果是单表查询的话,只需要传Gr ...

最新文章

  1. python语音在线编辑-Python实时语音识别控制
  2. 基于rman 全备+归档在线搭建DG
  3. day18--django3之Ajax
  4. 6.3.2线索二叉树
  5. QAction QActionGroup QMenu 使用方法
  6. 使用UE去除复制文本中的空格、换行符和TAB
  7. 通过密钥 SFTP(三)指定不限定根目录
  8. 说服力——教你做出专业出彩的演示PPT
  9. wordpress搭建 ubuntu16.04 apache2 + php7.0 + mysql
  10. 操作系统原理好书推荐
  11. 导论II大作业提交-辩论计时器代码
  12. 如何清空c盘只剩系统_电脑C盘怎么清理到最干净?高手教你清理C盘的详细步骤...
  13. 新浪微博首席架构师漫谈微博底层架构
  14. 自恢复保险丝与一次性保险丝较量,孰强孰弱
  15. 海德汉LSV2通讯协议
  16. 2021-3-21-第三周
  17. Mysql经典面试题(建议收藏)
  18. PowerDesigner一键导入数据库所有表并画数据模型图
  19. Spring Boot Jar包运行指定配置文件
  20. 区块链开发(十四)以太坊go-ethereum客户端查询交易列表探讨

热门文章

  1. VB中使用MD5算法
  2. AI创业营第三期拉开帷幕:生存训练+思想盛宴
  3. 在哈佛的一场闭门会上,专家说全球各国都应设置“人工智能部长”
  4. 测测自己最像哪幅名画?谷歌博物馆App新推自拍功能
  5. 30问提升技术人写作力-第1问作业
  6. 计算机网络 - 物理层
  7. Windows下安装并启动mongodb
  8. 各国网络安全审查制度及案例分析
  9. Commons Configuration之一简介
  10. HTML5再曝漏洞 安全性遭质疑