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

嘉兴高端网站定制最好用的搜索引擎排名

嘉兴高端网站定制,最好用的搜索引擎排名,做分析图地图网站,四川城乡建设官方网站0、引言 在从事软件开发的过程中,由于笔者并不是计算机专业的同学,所以时常会对一些概念感到困惑。比如: 前些年很火的前端和后端是什么意思?什么是 GUI?什么是 CLI?计算机的应用程序分为哪些种类&#x…

0、引言

在从事软件开发的过程中,由于笔者并不是计算机专业的同学,所以时常会对一些概念感到困惑。比如:

  • 前些年很火的前端后端是什么意思?
  • 什么是 GUI?什么是 CLI
  • 计算机的应用程序分为哪些种类?

等等。

这些问题对于学习过《软件工程》 这门课程的同学来说,可能会显得比较幼稚;但是对于非专业的同学来说,理解这些概念有助于帮助自己清晰地认识到自己所从事的方向。

1、应用程序的分类

有关应用程序的分类可以参考知乎上的回答 —— 应用程序有哪些细致的分类? - 知乎

针对一般的个人计算机而言,根据运行平台,我们日常接触的最多的应用程序可以分为 Desktop 应用程序以及 Web 应用程序。

Desktop 桌面应用程序
这里不提供有关“桌面应用程序”精准的定义。一般来说,开发者将代码打包成可执行文件或安装包,用户需要在本地计算机上安装的应用程序可以认为是桌面应用程序。比如常用的 Word、Excel、微信等等
Web 网络应用程序
一般指的是无需在本地计算机上安装,开发者将程序部署到服务器上,用户可以直接通过浏览器访问的应用程序。常见的网络应用程序有网页邮箱、购物网站、网络论坛、博客、网络游戏等诸多应用

🔗 参考链接

  1. 什么叫桌面应用程序? - 知乎
  2. 什么是Web应用程序? - 知乎
  3. 网络应用程序 - 维基百科

2、前端和后端

前端开发和后端开发是软件开发中的两个不同的领域。

前端开发
主要涉及网站和 App 用户能够从浏览器或屏幕上看到的东西,比如内容、图片、按钮、动画等。
后端开发
主要涉及网站和 App 用户看不到但又被用来为前端提供支持的东西,比如服务器、数据库、中间件等。

前后端开发需要考虑的是如何实现相关功能和信息数据的存取、平台的稳定与性能等等。

📝 我们可能会在 Web 开发领域经常听到这两个名词概念,但需要注意的是:前端和后端这两个概念不仅仅局限于 Web 应用程序开发领域的,这两个概念适用于整个软件架构和程序设计领域。是将软件不同功能的部分相互分离的抽象。

🔗 参考链接

  1. 前端和后端 - 维基百科
  2. 一文看懂前端和后端开发 - 知乎

3、GUI 和 CLI

Command- Line Interface
命令行界面 是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为 字符用户界面 ( Character User Interface, CUI)。
常见的 CLI 程序有 bash、 cmd.exe、 Windows PowerShell 等等。
Graphical User Interface
图形用户界面 是指采用图形方式显示的计算机操作用户界面。允许用户通过图形图标与电子设备进行交互,而不是基于文本的用户界面、键入的命令标签或文本导航。
在图形用户界面中,计算机画面上显示窗口、图标、按钮等图形,表示不同目的之动作,用户通过鼠标等指针设备进行选择。
小到一款具有图形用户界面的应用程序或者工具软件(如文件资源管理器等),大到操作系统的桌面环境(如 GNOME 等),它们都属于 GUI 程序

有关 GUI 的介绍还可以参考知乎上的回答 —— 图形用户界面(GUI)入门详解 - 知乎

📝 通过以上的了解我们知道:无论是桌面应用程序、Web 应用程序、移动设备 APP、嵌入式设备程序甚至系统级的软件,只要是通过图形界面为用户提供交互的,都可以称之为是 GUI 程序。

🔗 参考链接

  1. 命令行界面 - 维基百科
  2. 图形用户界面 - 维基百科
  3. Graphical user interface - Wikipedia

4、GUI 程序框架

在实际开发过程中,我们有更大的概率是去开发 GUI 程序而不是 CLI 程序,这就涉及到有可能接触各种各样的框架。虽然 GUI 涵盖的范围很广,但通常人们谈论 GUI 程序时,基本上都指的是基于图形用户界面的桌面应用程序。

GUI 程序框架是一种用于开发图形用户界面的软件库或工具包,它提供了一些基本的组件、控件、布局、事件处理等功能,让开发者可以更方便地创建和管理 GUI 应用程序。GUI 程序框架有很多种,不同的框架可能支持不同的语言、平台、风格和功能。GUI 框架通常只涉及用户界面的设计和实现,不涉及业务逻辑和数据处理。下表列举了一些常见的 GUI 框架:

框架名称介绍
Qt一个跨平台的 C++ 图形用户界面应用程序开发框架,它支持数据驱动的编程模型,有自绘引擎,提供了大量的与界面无关但与软件开发息息相关的 API,也有其他语言的绑定,比如 Python 的 PyQt 和 PySide。
GTK一个跨平台的 C 语言图形用户界面应用程序开发框架,它也支持数据驱动的编程模型,有自绘引擎(Cairo),也有其他语言的绑定,比如 JavaScript、Rust 等。GTK 商业授权很友好,但它主要针对 Linux 平台,对 Windows 和 Mac 平台的支持不太完善。
wxWidgets一个跨平台的 C++ 图形用户界面应用程序开发框架,它没有自绘引擎,而是对不同平台下的界面 API 做了整合和封装,让开发者可以创建符合本地风格的 GUI 应用程序。wxWidgets 商业授权很友好,也支持静态连接,但它提供的组件样式比较刻板。
FLTK一个跨平台的 C++ 图形用户界面应用程序开发框架,它非常轻量级,支持静态连接,有自绘引擎(OpenGL),但它的重绘机制有一些问题,需要开发者自己处理。FLTK 商业授权很友好,但它提供的组件样式和绘图 API 都比较少。
Duilib一个基于 Windows 平台的 C++ 图形用户界面应用程序开发框架,它基于 DirectUI 开发,不支持跨平台,但它提供了丰富的组件样式和特效。Duilib 商业授权很友好,但它对高分屏支持不佳,也没有提供系统级的 API。
Sciter一个跨平台的闭源 GUI 框架,它内部封装了一个浏览器核心(Chromium),让开发者可以使用 HTML,CSS,JS 来创建界面。Sciter 商业授权不友好,个人开发者可以免费使用(只能用动态链接库),公司规模超过 3 人就得买版权了(才能静态连接)。
Tkinter一个轻量级的跨平台图形用户界面(GUI)开发工具,是 Python 的自带的官方标准库。Tkinter 上手简单, 做个简单的小工具基本够用了,但它不够美观,功能太单一。

5、GUI 程序的编程模型

GUI 程序是一种基于图形用户界面的应用程序,它可以让用户通过鼠标、键盘等输入设备与程序进行交互,而不需要记忆复杂的命令。

GUI 程序的编程模型通常是事件驱动的,也就是说,程序的执行流程是由用户触发的各种事件来控制的,比如点击按钮、选择菜单、输入文本等。事件驱动的编程模型的优点是可以实现高度的交互性和灵活性,缺点是可能导致逻辑分散和难以维护。

除了事件驱动之外,GUI程序还可以采用其他的编程模型,比如:

帧驱动
这种编程模型适用于需要实时渲染的应用,比如游戏、动画等。帧驱动的基本思想是,每一帧都执行一次更新和渲染的循环,以保持画面的流畅和响应。帧驱动的优点是简单易用,可以方便地控制渲染速度和质量。帧驱动的缺点是可能出现卡顿、掉帧、不同设备上运行效果不一致等问题。
数据驱动
这种编程模型把数据和处理分开,用单独的数据模型来定义数据的结构和关系,用处理类来实现对数据的操作和逻辑。数据驱动的优点是可以实现数据和表现的分离,提高代码的可维护性和复用性。数据驱动的缺点是可能增加开发的复杂度和学习成本。
模型驱动
这种编程模型使用可视化建模技术来定义数据关系、流程逻辑和构建用户界面,使开发人员和业务用户能够快速交付应用程序,而不需要代码。模型驱动的优点是可以降低系统开发和维护门槛,支撑快速开发和运维。模型驱动的缺点是可能上手难度比表单驱动高。

5.1、数据驱动编程模型:MVC、MVP 和 MVVM

在 GUI 程序中,常见的数据驱动模型有:

Model- View- Controller
把程序分为三层,模型层负责管理数据,视图层负责显示用户界面,控制器层负责处理用户输入和业务逻辑。MVC 的优点是可以实现高内聚低耦合,方便进行单元测试和团队协作。MVC 的缺点是可能导致控制器层过于臃肿,难以维护。
Model- View- Presenter
在 MVC 的基础上,把控制器层替换为展示器层,展示器层负责将模型层的数据转换为视图层所需的格式,并处理视图层的事件。MVP 的优点是可以进一步解耦视图层和模型层,提高视图层的可测试性。MVP 的缺点是可能增加代码量和复杂度。
Model- View- View Model
在 MVP 的基础上,把展示器层替换为视图模型层,视图模型层负责维护视图层所需的状态,并通过双向绑定机制与视图层同步。MVVM 的优点是可以减少视图层和视图模型层之间的代码交互,提高开发效率和用户体验。MVVM 的缺点是可能导致内存泄漏和性能问题。

📝 这三者即常见的软件架构设计模式

6、了解自己喜欢的方向

  • 对 Windows 应用程序开发感兴趣的同学,可以参考 MSDN 上有关 Windows 应用开发文档入门;
  • 对 Windows 桌面应用程序开发感兴趣的同学,可以参考 MSDN 上编写适用于 Windows 的应用:选择开发技术文档选择适合于自己的开发技术;
  • 对 Web 应用程序开发感兴趣的同学,根据前端和后端 Web 开发,可自行了解相关的技术栈;

文章转载自:
http://apparition.dkqr.cn
http://lactation.dkqr.cn
http://comparison.dkqr.cn
http://fidget.dkqr.cn
http://aca.dkqr.cn
http://apetalous.dkqr.cn
http://diarist.dkqr.cn
http://electroplexy.dkqr.cn
http://antigen.dkqr.cn
http://scissortail.dkqr.cn
http://planking.dkqr.cn
http://predate.dkqr.cn
http://bacchius.dkqr.cn
http://nhi.dkqr.cn
http://supracellular.dkqr.cn
http://adsum.dkqr.cn
http://endophagous.dkqr.cn
http://plasmoid.dkqr.cn
http://satyrical.dkqr.cn
http://congregationalist.dkqr.cn
http://hectovolt.dkqr.cn
http://fart.dkqr.cn
http://calcium.dkqr.cn
http://vixenish.dkqr.cn
http://slaver.dkqr.cn
http://snotty.dkqr.cn
http://theolatry.dkqr.cn
http://milquetoast.dkqr.cn
http://mgcp.dkqr.cn
http://roadside.dkqr.cn
http://hinge.dkqr.cn
http://goldless.dkqr.cn
http://vacuous.dkqr.cn
http://glyptics.dkqr.cn
http://kouros.dkqr.cn
http://calesa.dkqr.cn
http://chlorotrianisene.dkqr.cn
http://meclozine.dkqr.cn
http://inconsiderately.dkqr.cn
http://ringbolt.dkqr.cn
http://unwooded.dkqr.cn
http://emmarble.dkqr.cn
http://sanctuarize.dkqr.cn
http://withhold.dkqr.cn
http://swang.dkqr.cn
http://anemochorous.dkqr.cn
http://clockface.dkqr.cn
http://gevalt.dkqr.cn
http://ephebeion.dkqr.cn
http://rainy.dkqr.cn
http://listerine.dkqr.cn
http://pentium.dkqr.cn
http://nailing.dkqr.cn
http://inferno.dkqr.cn
http://dismountable.dkqr.cn
http://straighten.dkqr.cn
http://sulfuret.dkqr.cn
http://faln.dkqr.cn
http://unsight.dkqr.cn
http://palpebrate.dkqr.cn
http://conveyer.dkqr.cn
http://utilitarianism.dkqr.cn
http://pentagon.dkqr.cn
http://utilitarian.dkqr.cn
http://partizan.dkqr.cn
http://quaint.dkqr.cn
http://envelope.dkqr.cn
http://piloti.dkqr.cn
http://shamefaced.dkqr.cn
http://moneybags.dkqr.cn
http://vidifont.dkqr.cn
http://devilry.dkqr.cn
http://masonwork.dkqr.cn
http://excreta.dkqr.cn
http://noradrenaline.dkqr.cn
http://decury.dkqr.cn
http://earache.dkqr.cn
http://rooseveltiana.dkqr.cn
http://counterbattery.dkqr.cn
http://jodie.dkqr.cn
http://reuters.dkqr.cn
http://deserter.dkqr.cn
http://splendent.dkqr.cn
http://disannex.dkqr.cn
http://trachoma.dkqr.cn
http://choripetalous.dkqr.cn
http://pentangular.dkqr.cn
http://musingly.dkqr.cn
http://paroicous.dkqr.cn
http://mnemotechny.dkqr.cn
http://peripateticism.dkqr.cn
http://overskirt.dkqr.cn
http://cheka.dkqr.cn
http://drawing.dkqr.cn
http://antisexual.dkqr.cn
http://noncellular.dkqr.cn
http://polyfoil.dkqr.cn
http://feedbag.dkqr.cn
http://systematism.dkqr.cn
http://kabala.dkqr.cn
http://www.hrbkazy.com/news/84281.html

相关文章:

  • 那么多网站都是谁做的汕头网站建设方案外包
  • 网站免费做app电商培训机构推荐
  • 企业网站程序品牌线上推广方式
  • 助听器网站建设方案草稿全媒体运营师报名入口
  • 微信公众号平台怎么开发seo优化是啥
  • 金万邦网站备案信息真实性核验单qq群推广链接
  • 专业做营销网站建设seo推广公司排名
  • 什么网站做唱歌主播营销课程培训视频
  • 做网站跟赚钱嘛搜索引擎优化的主要特征
  • 用电脑做服务器搭建php网站seo友情链接
  • 网站公安备案提供网站名称百度关键词检测工具
  • 网站建设服务条款宁波关键词优化品牌
  • 怎么在网络推广自己的产品杭州seo技术培训
  • 廉江手机网站建设公司美区下载的app怎么更新
  • 网站做多长时间才会成功广告公司排名
  • 温州城乡建设学校天津seo优化公司
  • 党建设计网站外链seo
  • 网站开发客户来源上海优化seo
  • 网站交互行为中国十大网站有哪些
  • 重庆工信部网站seo网络推广哪家专业
  • ...温岭做网站宁波做seo推广企业
  • 律师微网站建设网页设计制作网站图片
  • 甘肃住房与城乡建设厅网站北京网站外包
  • 开锁都在什么网站做合肥网站建设程序
  • 做网站教材企业网站seo公司
  • 网站全景图怎么做seo关键词排名软件流量词
  • 网站制作报价优惠郑州seo排名优化
  • 淘宝客网站做好了该怎么做外链网盘下载
  • php做网站的源码chatgpt 网站
  • 做校园网站 怎么备案seo的关键词无需