独立软件开发者(独立开发程序)

软件开发 1633
今天给各位分享独立软件开发者的知识,其中也会对独立开发程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、什么是软件开发者? 2、

今天给各位分享独立软件开发者的知识,其中也会对独立开发程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

什么是软件开发者?

软件开发者是指实际组织开发、直接进行开发,并对开发完成的 软件承担责任的法人或者其他组织;或者依靠自己具有的条件独立完成软件开发,并对软件承担责任的自然人。

是指实际组织开发、直接进行开发,并对开发完成的 软件承担责任的法人或者其他组织;或者依靠自己具有的条件独立完成软件开发,并对软件承担责任的自然人。

独立开发者怎样开发一个app

独立开发者怎样开发一个app

如今,不少企业都想拥有属于自己企业或产品的手机APP,但其中最困扰企业主的问题就是:开发一款手机APP到底需要多少钱?

简单点来说,要视手机APP的需求及质量而言,价位一般在几千到十几万左右,更高端的价格更高。

今天,我们就来详细分析一下这个问题,请继续往下看吧。 

一、APP开发款式分为固定款和定制款,两者的价格均不相同

固定款:是指直接套用已有的、现成的APP固定模板,报价是固定的,所需要的功能也是固定的,缺点就是客户拿不到源代码,也不能根据企业需求进行定制,由于源代码是封装的,如果企业以后想进行功能升级或系统维护的话,也不能够实现,只能重新开发一个新的软件。

固定款的APP开发时间短,约2~3日的时间即可完成,费用大约在几千到几万之间。

定制款:定制款是指APP的功能全部重新开发,过程比较繁琐,需要美工、策划、APP开发(前台/客户端/手机端)、后台程序员等工种协同完成,大型的、功能复杂的APP甚至需要数十人的团队。

由于APP的功能和设计都是定制的,因此价格会高些。定制款的开发时间与开发价格是成正比的,开发时间长,大约在两三个月甚至不定的周期里才能完成,而费用大概在几万甚至十几万左右。

因此,想要知道开发一款手机APP需要花费多少钱,企业主首先必须把APP的详细需求和功能告知APP开发公司,开发公司才能报出一个合理的价格。

二、手机APP平台不同,制作成本也不一样

现在市面上流行的手机APP制作平台主要有两种一般包括两种系统:安卓系统(Android)和苹果系统(IOS)。

一般来说,制作苹果系统的手机APP软件费用要比安卓平台的贵一些,因为苹果公司对苹果平台的封闭性和手机APP开发语言Objective-C的难度,都让APP开发者加大了苹果系统手机APP开发的难度。

三、APP制作成本包含参与人员的工资

通常情况下,开发一款APP需要产品经理、客户端工程师、后端工程师和UI设计师各一名,这已经是制作手机APP应用软件比较精简的配置了,所以这些参与人员的工资也是包含在APP制作成本当中的。这些工作人员的月薪加起来可能都会超过4、5万元。

四、APP开发公司的所在地

需要注意的是,同样实力的APP开发公司,在不同的城市也会导致APP的成本费用高一些

程序员如何才能成为独立开发者?

我们根据职场发展通路和能力水平,把程序员分成如下四个等级:

普通开发者

熟练开发者、高级开发工程师、技术组长

技术专家、架构师、一线经理

科学家、首席(资深)架构师、部门研发总监

今天这篇文章,我们来讨论普通开发者如何进阶为熟练开发者。

我们会先定义普通开发者应该达到的能力水平,然后再介绍他应该在哪方面提升才可能进到下一个阶段。

普通开发者的能力水平

先看我经常提到的一张图——技术成长阶段图:

普通开发者处在第一个成长阶段:专项能力提升。

专项能力提升阶段是初级阶段,你为了搞定事情,必须先具备某些基础能力,比如某种编程语言(Java / C++/ Python / JavaScript 等)、某个IDE (Visual Studio / Qt Creator / Android Studio / Eclipse / WebStorm 等)、某种技术框架(Netty / Qt / SSH / MyBatis / AngularJS 等)。

这个阶段最重要的就是提升专项能力,让自己能够迅速搞定一些别人安排给你的事情,体现出你的价值。

在这个阶段,最起码达到下列水准:

能理解并完成别人分解好的叶子任务

能自己完成一个功能模块的开发

以前端开发者为例,在这个阶段,你必须能将从 UI 过来的某个页面原型转换为可运行、可操作的真实 Web 页面。比如登录页面、比如商品详情展示页面,要能做到实现可视化页面和业务逻辑跳转。

以 Android App 开发者为例,在这个阶段,你必须能搞定类似登录、支付等这类功能。以 App 的登录功能为例,你要能使用特定的布局和组件实现自适应的登录界面,还要能学习使用类似微信、微博等第三方账户的 SDK ,实现第三方账户登录。

你可能很难自己设计一套完整的登录功能(包含口令加密、单点登录、Cookie 使用、验证码、密码找回、第三方登录、多终端同步、角色鉴权、用户数据存储等),但是当熟练开发者或者高级开发者完成了设计,把某个小功能分配给你的时候,你要能够理解这个设计,并将这个设计实现出来,和整个登录系统整合在一起,能够正常运转。

当你能够搞定这些事情的时候,你的专项技术水平起码是这样的:

能熟练搭建需要的开发和测试环境

熟悉所用编程语言的基础语法,有这门语言的知识地图,熟悉该语言本身的各种基础功能,了解这门语言的高级功能

能调用已有技术框架的 API 来实现特定功能

能在实现同一功能的多组 API 之间选择合适的那一组

能熟练使用开发环境和各种辅助工具进行调试

可以解决易复现的、逻辑简单的软件 Bug

能自主学习某个新框架的基础 API ,参考 DEMO 完成某个功能的基本实现

我的总结可能不完善或存在 Bug ,请大家在留言区指正、补充。

我想到一个身边的例子,刚好和我们讨论的这个话题契合。

有一次和朋友 G 聊天,他说他部门有位做前端开发的程序员 X ,一直在用 jQuery 实现各种页面,代码冗余,结构凌乱。Vue.js 出来后,G 想在新版本中使用,就安排 X 学习 Vue.js ,让他参考公司产品某两个页面的功能和布局,简化设计,做两个带异步数据请求功能的页面出来看看效果,结果一个星期过后,X 告诉 G ,Vue.js 太复杂,开发文档看不明白,代码也搞不懂,进行不下去……

如果你像 X 这样的状态,就说明你还停留在普通开发者阶段,只能在他人指导和安排下编码实现特定的细分功能。

要想进阶,就要先在专项技术能力上达到我们前面所列清单描述的水平(那是基础要求),然后再对照熟练开发者的能力要求,有针对性的去学习提高,稳步进入下个阶段。

普通和熟练的关键区别

对照前面的技术成长阶段图,熟练开发者处在中间阶段,拥有自己的技能体系。

为了搞明白拥有自己的技能体系是什么概念,我们先来看两组概念:

知识、知识体系

技能、技能体系

简单说,知识是能引发改变的信息,技能是运用知识解决问题的一系列思维和动作的组合。但这样讲不大容易明白,我们举个软件开发领域的例子。 C++中的虚函数是一个知识点,用虚函数这个特性定义模块接口,实现模块的动态加载,就是技能。

接下来为了行文方便,我不再区分知识和技能,直接把知识等同于技能,甚至用知识一词代替技能。请在阅读时根据上下文加以区分。

知识和知识体系的关系,技能和技能体系的关系,就像树木和森林的关系,就像瑞士军刀上小刀、小剪子、小螺丝刀和瑞士军刀的关系。

这样打个比方,应该可以体会到“体系”是什么了。

所谓知识体系,就是若干相互联系的、可以用来解决特定场景问题的知识的组合。

Ok,现在回头来看普通开发者和熟练开发者的区别,就简单多了。

普通开发者因为不断完成任务,不断做项目,接触、使用了各种各样的“知识点”,于是拥有了各种离散的知识,但这个知识和那个知识很少关联,他拥有的知识,是散兵游勇,如下图所示:

当你的知识点各不关联时,你在遇到问题时,就很难进行系统思考,就很难获得解决办法。

而熟练开发者,则(被动或主动)经历了知识点的梳理、整合过程,把零散的知识点围绕着某个应用场景联系起来,形成了知识体系。就像下图:

当你有了知识体系之后,遇到和你知识体系对应的场景相关的问题,就可以快速找到相关的知识,系统的分析问题,最终解决问题。

你看,是否拥有知识体系,导致了熟练开发者和普通开发者的一个非常重要的区别:熟练开发者能够独立负责一个模块或子系统的设计和开发工作,拥有分析问题、解决问题的能力和任务分解的能力,可以分配任务给普通开发者。

进阶修炼方向

好啦,从技术水平的角度讲,普通开发者和熟练开发者的区别就在于:普通开发者的知识不成体系,而熟练开发者构建了与某个应用场景相关的知识体系。

这样看来,普通开发者要想进阶,方向就非常明确了:构建自己的知识体系。

那么,怎么构建知识体系呢?先参考我的另一篇文章:构建知识图谱,让自己更值钱。如果后续有机会,我会重构一篇新的文章,再聊聊构建知识体系这个话题。

rtm是什么的缩写?

RTM是发布到制造的缩写,它也被称为“走金”。 当准备好交付产品时使用此术语。 可以对该版本进行数字签名,以允许用户验证他们购买的软件的真实性。 Release To Manufacturing,意味着开发工作已结束,RTM 版将提供给发行商,OEM 硬件厂商,驱动程序开发者,独立软件开发者等。

Manufacturing是制造的意思。正式在零售商店上架前,需要一段时间来压片,包装,配销,所以程序代码必须在正式发行前一段时间就要完成,这个完成的程序代码叫做Final.Code,比如说,Windows.XP开发完成,外国媒体用Windows XP.goes.gold来称呼。程序代码开发完成之后,要将母片送到工厂大量压片,这个版本就叫做RTM版。

常见的MSDN版、OEM版与RTM版

(一)MSDN(Microsoft Developer Network)版

MSDN软件是微软公司面向软件开发者的一种版本。MSDN涵盖了所有可以被开发扩充的平台和应用程序,如微软公司的百科全书Encarta,或者是各种游戏,是不包括在MSDN之内的,因为这些产品直接面向最终用户,没有进行程序开发的必要。

(二)OEM(Original Equipment Manufacturer)版

OEM软件只能随机器出货,不能零售,所以也叫做随机版。OEM软件只能全新安装,不能从旧有操作系统升级。如果买笔记型计算机或品牌计算机就会有随机版软件。

关于独立软件开发者和独立开发程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码