二次开发是相对于底层开发而言的。
底层开发:所谓的底层开发是指通过计算机编程语言,在不基于(利用)其它平台软件的情况下
实现新的算法、模块,以及一款独立的新的平台软件。由于底层开发不基于别人的软
件平台,有很强的独立性;同时开发者可以从底层算法的基础上实现,各种功能的
优化和突破。具有很强的独立性和灵活性。但是由于是底层开发一切都要重头做起,
难度相当大,软件开发的周期相当长,同时为了更好地追求速度和可移植性多采用
较为低级的语言如:C++。而不提倡采用C#,Java等。
二次开发:所谓的二次开发是指通过计算机编程语言,在基于(利用)其它平台软件的情况下,
实现各种符合自主需要的新的模块、以及新的软件。由于二次开发是基于别人的平台
下开发出来的,注定了它不能脱离自己开发所依据的平台软件或者是该平台所发布的
运行时;同时很难或者说无法再算法和功能上实现新的突破。具有很强的依赖性和局
限性。但是由于是二次开发,许多困难的底层算法部分已经被制作成各个模块,可方
便开发人员随时调用,开发起来方便快捷,大大缩短了软件开发的周期。多采用的
开发语言为:C#、VB、Java等。
简单来说:底层开发是中国创造,二次开发是中国制造,其中的技术含量可想而知!
二次开发有哪些:那就得看你要对什么东西进行二次开发了。要是对AutoCAD进行二次开发那就
是AutoCAD二次开发;对ArcGIS进行二次开发那就是ArcGIS二次开发。以此类
推。可以说有多少可以依据的平台软件就可以有多少中二次开发。
怎么学:一、看你想在哪一方面发展了,例如:如果你想在GIS行业发展肯定要会一款GIS的二次
开发,而GIS平台软件也多种多样,如:ArcGIS、MapGIS、SuperMap等等,你可
以选一款市场前景大的平台软件进行二次开发(首推:ArcGIS)。
二、二次开发也是软件开发,只要你有过强的计算机语言功底和开发思想,一切问题
都会迎刃而解。要知道一通百通的道理。有过强的计算机语言功底和开发思想才是
成功的王道!
二次开发,简单的说就是在现有的软件上进行功能的扩展,定制修改,然后达到自己想要的功能,一般来说都不会改变原有系统的内核。
为什么要二次开发?
随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或
是软件公司。选择和应用这些优秀的开源软件,并在此基础上进行符合业务需求的二次开发,将给企业节省信息
化成本(时间成本及开发成本)的同时,更能带来技术上的保障。这就是我们常听的:站在巨人的肩膀上,你将看的更远。所以国内很多公司需要二次开发的人才。
怎么做二次开发?
第一,你要有这个开源产品的所用语言的语言基础。
第二,你要对这个开源产品的功能和使用要有比较熟悉,因为你熟悉了,你才知道一个需求下来,你要改什么,什么是系统自带的,大概要怎么改。
第三,你要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。简单点说,就是数据库,代码逻辑,文件目录的熟悉。如果是用接口式的二次开发,则需要你对这个接口比较熟悉,一般来说会有相应的文档。
第四,根据你的需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到你的需求。
第五,对其提供的SDK中的API函数有一定了解,以利于你对SDK中个函数的使用更加灵活方便。