写给外行人看的软件开发入门
现在,因为有了大语言模型AI的帮助,软件开发入门变得更容易,相信有许多人开始跃跃欲试,想要自己动手写一些软件。
本文主要让大家知道软件开发的基本工作和风险,帮助大家理解。
软件的类型
有些软件的类型是必须要知道的,防止搞错软件的适用环境。
在普通电脑上运行的软件,也称为桌面软件,通常是安装在电脑上的应用程序。比如:Word、Excel、Photoshop、QQ、微信等。 但是要注意,不同的电脑操作系统支持的软件是不一样的,Windows、Linux、macOS、鸿蒙等操作系统支持的软件是不一样的。
在服务器上运行的软件并以服务的形式提供给客户,通常也叫软件即服务(SaaS),比如淘宝、头条、百度等。这些软件的一个特点是需要购买服务器来运行后台服务软件、存储大量数据、持续保障服务的7×24小时运行。还有一个特点,这类软件还会提供一个在电脑上运行的客户端软件。两者通过网络进行通信。
在手机上运行的软件,这类软件通常需要到应用商店登记上架,然后供用户下载使用。比如微信的小程序、网游、铁路12306等,很多应用软件都必须搭配服务器端软件才能使用。
在各类特殊硬件上运行的软件,比如汽车、家电、工业设备上。通常对性能、可靠性要求更高。
软件开发的流程
和做其他事情一样,从需求沟通开始,在沟通过程中分析识别需求,之后是设计细化、编程、测试以及发布和验收。
软件发布后的维护和升级也是软件开发的重要工作。因为没人能一次性作对。
长期使用和短期使用
以前的软件通常是长期维护的。因为需要持续的维护和升级,来维持软件的可用性。
但这意味着,有很多细小的软件需求得不到满足,但现在有了AI的帮助,这部分需求可以通过AI辅助来实现。这也将是AI发力的方向,软件必将更加繁荣。
开发软件所用的技术
不同类型的软件所使用的技术是不同的,有编程语言的区别,也有运行环境和依赖组件的区别。
安卓手机软件开发通常使用Java、Kotlin等语言,桌面软件常用C++、C#、Python等语言,服务器端软件常用Java、Python、Go、PHP等语言。
开发软件面临的风险
收费
软件容易被复制和传播,因此如果想要靠售卖软件挣钱,就必须要有收费的手段。比如:License授权、云服务验证等。
软件还会面临被破解的风险,一些必要的加密和防护措施是必须的。
安全
处理个人信息、机密信息的软件必须防止信息泄露,因此在数据存储和信息传输过程中要做加密。
合规
不同国家和地区对软件的合规要求不同,尤其是涉及个人信息、金融、医疗等领域的软件,必须要遵守当地的法律法规。