跳转到内容

IOS:修订间差异

轻之舟百科,让知识轻装启航
ZaneSplash72​(留言 | 贡献)
创建页面,内容为“iOS(前称:iPhone OS)是由苹果公司(Apple Inc.)开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这一系统,最初专为iPhone设计,后陆续扩展至iPod touch、iPad及Apple TV等设备。iOS与苹果的macOS操作系统一样,基于Darwin核心,属于类Unix的商业操作系统。2010年6月,苹果公司在全球开发者大会(WWDC)上将系统名称由"iPhone OS"正式更名为"iOS"…”
 
TeodoroSeccombe​(留言 | 贡献)
小 创建页面,内容为“。”
第1行: 第1行:
iOS(前称:iPhone OS)是由苹果公司(Apple Inc.)开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这一系统,最初专为iPhone设计,后陆续扩展至iPod touch、iPad及Apple TV等设备。iOS与苹果的macOS操作系统一样,基于Darwin核心,属于类Unix的商业操作系统。2010年6月,苹果公司在全球开发者大会(WWDC)上将系统名称由"iPhone OS"正式更名为"iOS",并获得了思科系统(Cisco Systems)的商标授权。<ref name=":0">[https://baike.baidu.com/item/iOS/45705 iOS_百度百科]</ref><ref name=":1">[https://developer.baidu.com/article/detail.html?id=2913006 iOS系统详解:苹果移动操作系统的进化之路]</ref>
{{Infobox
| 标题 = Wails
| 内容 =
{{!}}-
! 开发者
{{!}} Lea Anthony
{{!}}-
! 首次发布
{{!}} 2018年
{{!}}-
! 稳定版本
{{!}} v2(当前稳定版)
{{!}}-
! 预览版本
{{!}} v3(Alpha)
{{!}}-
! 编程语言
{{!}} Go、JavaScript、TypeScript
{{!}}-
! 操作系统
{{!}} Windows、macOS、Linux
{{!}}-
! 类型
{{!}} 桌面应用开发框架
{{!}}-
! 许可证
{{!}} [[MIT许可证]]
{{!}}-
! 官方网站
{{!}} https://wails.io
}}


{| class="infobox" style="border:1px solid #ccc; background:#f8f9fa; width:24em; float:right; margin:0 0 1em 1em; border-spacing:5px;"
'''Wails'''是一个开源的[[跨平台]]桌面应用开发框架,允许开发者使用Go语言编写后端逻辑,并采用标准[[Web]]技术([[HTML]]、[[CSS]]、[[Java]]Script或[[TypeScript]])构建[[用户]]界面,最终编译为单个原生可执行文件。<ref name=":0">[https://wails.io/docs/introduction/ Wails Documentation - Introduction]</ref><ref name=":1">[https://github.com/wailsapp/wails wailsapp/wails - GitHub]</ref> 该框架由澳大利亚开发者Lea Anthony创建并主导维护,其名称源自创始人故乡威尔士(Wales)的谐音。<ref name=":2">[https://segmentfault.com/a/1190000045355708 用Go开发跨平台GUI - SegmentFault]</ref> Wails采用[[操作系统]]原生WebView进行界面渲染,无需嵌入完整的[[浏览器]]引擎,因而生成的应用程序体积显著小于基于[[Electron]]等方案的同类产品。<ref name=":3">[https://markaicode.com/wails-desktop-app-development-tutorial/ How to Build Apps with Wails - MarkAI Code]</ref>
|-
! colspan="2" style="text-align:center;" | '''iOS'''
|-
| 中文名 || '''iOS'''
|-
| 英文名 || '''iOS'''
|-
| 前称 || '''iPhone OS'''
|-
| 开发者 || '''苹果公司(Apple Inc.)'''
|-
| 首次发布 || '''2007年6月29日'''
|-
| 编程语言 || '''C、C++、Objective-C、Swift'''
|-
| 操作系统家族 || '''类Unix、Darwin'''
|-
| 内核类型 || '''混合内核(XNU)'''
|-
| 许可证 || '''专有软件、最终用户许可协议'''
|-
| 官方网站 || '''[https://www.apple.com/ios/ www.apple.com/ios]'''
|}


== 发展历程 ==
== 历史 ==


=== 起源与发布 ===
Wails项目于2018年在GitHub上首次公开发布。<ref name=":1" /> 创始人Lea Anthony当时任职于SafetyCulture,旨在为Go语言开发者提供一种轻量级的桌面应用开发方案,以替代传统的内置Web[[服务器]]模式。<ref name=":2" />


2007年1月9日,时任苹果公司CEO史蒂夫·乔布斯(Steve Jobs)在Macworld展览会上首次公布iPhone,并介绍其运行系统为"iPhone Runs OS X"。同年6月29日,第一代iPhone正式上市,搭载该系统1.0版本。2008年3月6日,苹果公司发布首个iPhone软件开发工具包(SDK),并将系统名称定为"iPhone OS"。<<ref name=":0" /><ref name=":2">[https://cloud.tencent.com/developer/article/1965637 回顾iOS1到iOS15的发展]</ref>
项目早期版本(v1)奠定了Go后端与Web前端结合的基本[[架构]]。随着社区需求增长,Wails v2于2021年前后进入开发,并在随后正式发布为稳定版本。v2引入了多项重大改进,包括基于Vite的前端构建工具链、自动TypeScript绑定生成、原生对话框与菜单支持,以及跨平台统一的事件系统。<ref name=":0" /><ref name=":4">[https://wails.io/changelog/ Wails Changelog]</ref>


=== 更名iOS ===
2024年起,Wails v3进入Alpha开发阶段。v3版本对框架架构进行了重新设计,引入了服务端模式、改进的构建系统以及更灵活的插件机制,目前仍处于积极开发中。<ref name=":5">[https://v3.wails.io/changelog/ Wails v3 Changelog]</ref>


2010年1月,苹果公司发布iPad,其同样搭载iPhone OS。同年6月,苹果在WWDC 2010上宣布将"iPhone OS"更名为"iOS",以反映该系统已不仅限于iPhone平台。此次更名获得了思科公司的商标授权,因为思科此前已将其网络设备操作系统命名为iOS。<ref name=":0" /><ref name=":3">[https://www.cnblogs.com/mahaohao/p/6397971.html iOS发展历史]</ref>
== 技术架构 ==


=== iPadOS独立 ===
=== 核心设计 ===


随着iPad功能与定位日益差异化,苹果于2019年6月4日在WWDC 2019上宣布,将iPad运行的iOS独立为iPadOS,以专注平板多任务、Apple Pencil及分屏操作等特性。<ref name=":0" />
Wails采用[[前后端分离]]的架构模式。后端由Go语言实现,负责业务逻辑、文件系统访问、网络请求及操作系统API调用;前端则使用任意现代Web技术栈构建,通过框架提供的绑定机制与后端通信。<ref name=":0" /> 与Electron不同,Wails不内嵌[[Chromium]]浏览器,而是调用操作系统原生WebView组件:[[macOS]]使用[[WebKit]],[[Windows]]使用WebView2,[[Linux]]使用WebKitGTK。<ref name=":3" /><ref name=":6">[https://agentskillexchange.com/skills/wails-desktop-app-framework-go-web/ Wails Desktop Application Framework - Agent Skill Exchange]</ref>


== 系统特点 ==
=== 绑定与代码生成 ===


=== 用户界面 ===
Wails的核心特性之一是自动绑定生成。开发者只需在Go代码中导出方法,Wails CLI即可自动生成对应的[[JavaScript]]/TypeScript调用接口,实现前后端之间的类型安全通信。<ref name=":0" /> 该机制消除了手动编写桥接代码的需求,显著提升了开发效率。


iOS采用多点触控直接操作界面,控制方式包括滑动、轻触、挤压及旋转等手势。系统界面以应用图标网格为主屏幕,底部设有Dock栏供固定常用程序。自iOS 7起,系统整体设计风格由拟物化(Skeuomorphism)转向扁平化,去除高光、纹理与阴影效果,采用简洁图形与色彩。<ref name=":1" /><ref name=":4">[https://juejin.cn/post/7144988453472567310 苹果 UI 扁平化的开始]</ref>
=== 构建系统 ===


=== 安全性与封闭生态 ===
Wails提供完整的CLI工具链,支持项目脚手架创建(wails init)、开发服务器(wails dev)及生产构建(wails build)。<ref name=":1" /> 开发模式下,框架支持前后端热重载;生产构建则将前端资源嵌入Go[[二进制]]文件,输出单个可执行程序。<ref name=":7">[https://github.com/threefoldtech/grid-agent GitHub - threefoldtech/grid_agent]</ref>


iOS采用"围栏花园"(Walled Garden)安全模型,系统为闭源设计,用户无法获取最高权限(Root)。所有第三方应用程序须通过App Store审核分发,苹果对应用代码、权限及内容进行严格审查。此外,iOS采用沙盒机制隔离应用数据,并配备应用追踪透明度、硬件加密等隐私保护功能。<ref name=":1" /><ref name=":5">[https://www.51cto.com/article/333816.html iOS 的围栏花园]</ref>
== 特性 ==


=== 应用生态 ===
Wails框架的主要特性包括:使用标准Go语言开发后端,支持React、Vue、Svelte、Preact、Lit及原生JavaScript等前端技术;自动生成TypeScript类型定义;提供原生对话框、菜单和系统托盘支持;内置暗色/亮色模式切换;支持现代半透明及毛玻璃窗口效果;具备跨平台统一的事件系统;以及使用原生渲染引擎带来的更小二进制体积和更低内存占用。<ref name=":0" /><ref name=":6" />


苹果于2008年7月推出App Store,建立"三七分成"收入模式,吸引大量开发者入驻。截至2012年2月,iOS平台应用总量已达552,247个;2011年10月,苹果宣布应用数量突破50万个。<ref name=":0" /> App Store涵盖游戏、社交、办公、教育等多领域,应用需通过苹果审核方可上架。<ref name=":1" />
== 版本状态 ==


== 版本历史 ==
截至2026年,Wails维护两个活跃版本:v2为当前稳定版本,适用于生产环境,可通过命令go install github.com/wailsapp/wails/v2/cmd/wails@latest安装;v3处于Alpha预览阶段,面向早期采用者和贡献者,安装命令为go install github.com/wailsapp/wails/v3/cmd/wails3@latest。<ref name=":1" /><ref name=":5" />


=== 主要版本概览 ===
== 应用生态 ==


iOS主要版本通常每年发布一次。iOS 4(2010年)引入多任务处理与文件夹功能;iOS 5(2011年)推出Siri语音助手与OTA无线更新;iOS 6(2012年)提供超过200项新功能,并采用苹果自制地图;iOS 7(2013年)由乔尼·艾维主导设计,全面转向扁平化界面;iOS 8(2014年)开放第三方输入法及Touch ID API,强化连续性(Continuity)生态;iOS 9(2015年)聚焦性能优化与稳定性提升。<ref name=":0" /><ref name=":2" /><ref name=":6">[https://mp.weixin.qq.com/s?__biz=MzU1MzkyNjMwOA==&mid=2247489293&idx=1&sn=53f1afa053b896281facff5e055c4f27 苹果iOS发展史]</ref>
Wails已被广泛应用于各类桌面工具的开发,包括[[数据]]库管理工具、MQTT调试客户端、游戏ROM管理[[软件]]、Markdown编辑器及开发辅助工具等。<ref name=":8">[https://github.com/openGemini/openGemini-studio GitHub - openGemini/openGemini-studio]</ref><ref name=":9">[https://github.com/mqtt-viewer/mqtt-viewer GitHub - mqtt-viewer/mqtt-viewer]</ref><ref name=":10">[https://github.com/frontlon/simUI-pulsar GitHub - frontlon/simUI-pulsar]</ref> 其轻量级特性与Go语言的高性能后端能力相结合,使其成为构建跨平台桌面应用的热门选择之一。
 
== 支持设备 ==
 
iOS主要运行于iPhone、iPod touch及Apple TV。2019年前,iPad亦搭载iOS;此后iPad专属系统独立为iPadOS。苹果通常为设备提供多年系统更新支持,部分旧设备可升级至新版iOS,但部分功能可能受限。<ref name=":1" /><ref name=":0" />


== 参考文献 ==
== 参考文献 ==


<references />
<references />

2026年7月15日 (三) 21:04的版本

Wails是一个开源的跨平台桌面应用开发框架,允许开发者使用Go语言编写后端逻辑,并采用标准Web技术(HTML、CSS、JavaScript或TypeScript)构建用户界面,最终编译为单个原生可执行文件。[1][2] 该框架由澳大利亚开发者Lea Anthony创建并主导维护,其名称源自创始人故乡威尔士(Wales)的谐音。[3] Wails采用操作系统原生WebView进行界面渲染,无需嵌入完整的浏览器引擎,因而生成的应用程序体积显著小于基于Electron等方案的同类产品。[4]

历史

Wails项目于2018年在GitHub上首次公开发布。[2] 创始人Lea Anthony当时任职于SafetyCulture,旨在为Go语言开发者提供一种轻量级的桌面应用开发方案,以替代传统的内置Web服务器模式。[3]

项目早期版本(v1)奠定了Go后端与Web前端结合的基本架构。随着社区需求增长,Wails v2于2021年前后进入开发,并在随后正式发布为稳定版本。v2引入了多项重大改进,包括基于Vite的前端构建工具链、自动TypeScript绑定生成、原生对话框与菜单支持,以及跨平台统一的事件系统。[1][5]

2024年起,Wails v3进入Alpha开发阶段。v3版本对框架架构进行了重新设计,引入了服务端模式、改进的构建系统以及更灵活的插件机制,目前仍处于积极开发中。[6]

技术架构

核心设计

Wails采用前后端分离的架构模式。后端由Go语言实现,负责业务逻辑、文件系统访问、网络请求及操作系统API调用;前端则使用任意现代Web技术栈构建,通过框架提供的绑定机制与后端通信。[1] 与Electron不同,Wails不内嵌Chromium浏览器,而是调用操作系统原生WebView组件:macOS使用WebKit,Windows使用WebView2,Linux使用WebKitGTK。[4][7]

绑定与代码生成

Wails的核心特性之一是自动绑定生成。开发者只需在Go代码中导出方法,Wails CLI即可自动生成对应的JavaScript/TypeScript调用接口,实现前后端之间的类型安全通信。[1] 该机制消除了手动编写桥接代码的需求,显著提升了开发效率。

构建系统

Wails提供完整的CLI工具链,支持项目脚手架创建(wails init)、开发服务器(wails dev)及生产构建(wails build)。[2] 开发模式下,框架支持前后端热重载;生产构建则将前端资源嵌入Go二进制文件,输出单个可执行程序。[8]

特性

Wails框架的主要特性包括:使用标准Go语言开发后端,支持React、Vue、Svelte、Preact、Lit及原生JavaScript等前端技术;自动生成TypeScript类型定义;提供原生对话框、菜单和系统托盘支持;内置暗色/亮色模式切换;支持现代半透明及毛玻璃窗口效果;具备跨平台统一的事件系统;以及使用原生渲染引擎带来的更小二进制体积和更低内存占用。[1][7]

版本状态

截至2026年,Wails维护两个活跃版本:v2为当前稳定版本,适用于生产环境,可通过命令go install github.com/wailsapp/wails/v2/cmd/wails@latest安装;v3处于Alpha预览阶段,面向早期采用者和贡献者,安装命令为go install github.com/wailsapp/wails/v3/cmd/wails3@latest。[2][6]

应用生态

Wails已被广泛应用于各类桌面工具的开发,包括数据库管理工具、MQTT调试客户端、游戏ROM管理软件、Markdown编辑器及开发辅助工具等。[9][10][11] 其轻量级特性与Go语言的高性能后端能力相结合,使其成为构建跨平台桌面应用的热门选择之一。

参考文献