当前位置: 首页 > news >正文

软件是什么?一个软件到底是哪些部分组成的-软件到底有哪些分支呢?

https://doc.youyacao.com/117/2163

软件是什么?一个软件到底是哪些部分组成的-软件到底有哪些分支呢?

何为软件

软件定义

的本质是通过软件编程实现硬件资源的虚拟化、灵活、多样和定制化功能,以最大化系统运行效率和能量效率。它基于硬件资源数字化和标准化的基础,通过软件给硬件赋能,实现应用软件与硬件的深度融合。软件定义的核心是API

(应用程序编程接口),它允许软件定义的系统具有高度的可配置性和扩展性。

计算机软件,也称为电脑软件,通常包括程序及其相关的文档。程序是计算任务的处理对象和处理规则的描述,而文档则是为了便于理解程序所需的阐明性资料。软件可以是系统软件或应用软件,系统软件主要用于管理计算机硬件和资源,而应用软件则是为了解决特定问题或提供某种服务而设计的

一个软件的组成部分

一个软件需要有前台,后台,前台是用户关注的部分,后台是管理员关注的部分。

前台部分有哪些

前台部分是用户查看和操作部分也成为客户端,大致分为以下客户端应用场景:

PC端网页:

以PC用户设计的 web网页,列如:京东首页 淘宝PC网站 ,这种满足pc电脑访问的网站叫做PC端网页

wap端网页(H5端):

wap端又叫做移动端网页,这里很多人会说是H5网站,H5似乎就代表着移动端一样,其实非也,H5全称html5,是因为html5在问世的时候大部分做的东西都是自适应的设计,什么是自适应呢?就是一个网页手机端能显示,pc端也能自适应显示,但是这种自适应网站是有特殊设计要求的,比如 宽度可以自由,长度可以自由,他也会导致设计师在设计ui上会有局限,

比如普通的wap手机端网页(以京东为例):

这样的wap端就是独立设计的非一套代码。

那么如果是html5(H5)网页呢?

比如 :https://www.17sucai.com/pins/demo-show?id=51674&st=QTu_P-NWwTD6OmItFxAhUw&e=1720126416

17素材网这个 h5素材,就是,当我们pc 和 wap设计上只是以长宽度的变化并且进行自适应分辨率的情况下这就是自适应-响应式设计,很多人拿着H5就以为一定是自适应,这是错的, 他们是包含关系, html5 --包含响应式设计,但是html5不一定就做响应式设计。

做了 响应式的设计,不仅仅是手机端,平板,电视,各类显示屏等都是可以对应的,这就是响应式,你可以理解为 我本身宽度1000,但是屏幕1200,我就自动拉长到1200, 如果屏幕500,我的宽度自动缩短到500.

移动APP端

目前不考虑其他冷门操作系统的情况下,移动端的客户端我们大致分类三类,安卓端Android,苹果端IOS,鸿蒙端harmonyos

安卓端对应安卓端自身的java语言:安卓原生开发 java ,Kotlin IOS端对应自己的开发语言:object-c 这里很多文章说 swift 是原生,不算啊, swift ui 算是 ios的一套ui开发框架,由于仅支持ios端让很多人误以为是原生。---但是通常情况 都是直接Swift ui 鸿蒙端harmonyos对应自己的开发语言: C/C++,Java,JavaScript,Kotlin

桌面客户端

C/c++/C# 都是开发桌面客户端的主要编程语言,当然了,现在的话类似php,java,go,python也都能开发桌面客户端,这个需要根据客户具体需求定夺。

关于混合开发

混合开发ui框架提供了一套代码开发发布多个平台跨端使用,诸如flutter(安卓,苹果,win,mac),reactnative(简称rn,也是一样),uniapp(常用于小程序开发),QT框架(主要是桌面客户端)这样会大大降低客户的开发成本,原本两个端需要2个程序员,可以同时简化为一个程序员(但是对程序员要求更高),而且混开框架在后续的维护和升级中针对复杂的功能开发的成本会更加的高。

后端技术开发有哪些?

后端常用编程语言:php,java,go,python~ 这里我们主要列主流,其他并不主流,几乎95%的项目java/php做后端都是可以完美解决的。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Synchronized、volatile与ReentrantLock:Java并发编程中的同步机制比较
  • docker部署mycat,连接上面一篇的一主二从mysql
  • Windows ipconfig命令详解,Windows查看IP地址信息
  • Go 语言入门(一)
  • 策略模式的应用
  • 代码随想录——划分字母区间(Leetcode763)
  • 万界星空科技MES系统中的排版排产功能
  • 刷代码随想录有感(127):动态规划——判断是否为子序列
  • python ui 工作流完善功能
  • HTTP 常见状态码
  • STM32F1+HAL库+FreeTOTS学习2——STM32移植FreeRTOS
  • 详解前缀码与前缀编码
  • Redis---10---SpringBoot集成Redis
  • (void) (_x == _y)的作用
  • 白嫖A100活动-入门篇-1.Linux+InterStudio
  • codis proxy处理流程
  •  D - 粉碎叛乱F - 其他起义
  • Docker容器管理
  • happypack两次报错的问题
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • java多线程
  • js对象的深浅拷贝
  • MySQL用户中的%到底包不包括localhost?
  • REST架构的思考
  • Spring Cloud中负载均衡器概览
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 将 Measurements 和 Units 应用到物理学
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 通过npm或yarn自动生成vue组件
  • 译自由幺半群
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​VRRP 虚拟路由冗余协议(华为)
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (AngularJS)Angular 控制器之间通信初探
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (回溯) LeetCode 78. 子集
  • (转) 深度模型优化性能 调参
  • (转)德国人的记事本
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core + vue 搭建前后端分离的框架
  • .NET Core 成都线下面基会拉开序幕
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net framework4与其client profile版本的区别
  • .NET是什么
  • .py文件应该怎样打开?
  • @Autowired和@Resource的区别
  • [ Linux ] Linux信号概述 信号的产生
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...
  • [Assignment] C++1
  • [bzoj1901]: Zju2112 Dynamic Rankings
  • [CLIP-VIT-L + Qwen] 多模态大模型源码阅读 - 视觉模型篇
  • [Day 44] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • [Design Pattern] 工厂方法模式