aardio 编程语言 - 官网

aardio  专注于桌面软件开发,17年一直保持非常活跃地更新( 更新日志 ),aardio 被多年用于生产项目实践,久经测试和锤炼。
aardio 在诞生之初就设计了良好的架构与语法。正因如此,aardio 历经17年发展,日新月异,每一年都会带来大量的更新扩展,但仍然能保持最初简洁高效的结构与语法,即使是最早的 aardio 源代码仍然能不经修改在最新版本开发环境中完美运行。

aardio 小、轻、快,轻便利索,体积仅 6.5MB,学习和使用成本极低。aardio 虽然小,但提供了惊人数量的开源标准库、扩展库 - 这些库基本都是由纯 aardio 代码实现,涉及到了桌面编程的方方面面。aardio 中的所有库基本都是由作者一个人编写,所以拥有良好的一致性。aardio为 每一个库的每一个接口函数都编写了文档,并且提供了大量的演示范例。aardio 使用流行的类 C 语法(非常接近 JavaScript ),在设计中尽可能地避免哗众取宠、标新立异,并且吸取和借鉴流行语言的习惯用法。不少 aardio 用户都表示只要有一点编程基础,aardio 几乎不用特别学习,看几天就会用了,仅仅是复制拼凑范例都能快速开发出不错的软件。

aardio 属于易用性极强的动态语言,但也是一种混合语言,可以罕见地、非常方便地操作静态类型,因此可以直接调用 C语言、C++ 等等静态语言的 API 接口函数( 不需要像VB那样先声明API ),aardio 可以支持非常多的 API 调用约定,例如 stdcall,cdecl,thiscall,fastcall,regparm(n) 等调用约定 aardio 都可以支持。因为 aardio 奇特的语言特性,aardio 的胶水能力极强,在 aardio 中可以非常方便地调用 C语言、C++、C#、Java、Python、R、JavaScript、Node.Js、Fortran、VB、Flash ActionScript、PHP、VBScript、PowerShell、NewLISP、AutoLISP、Delphi、FreeBASIC、Ruby、Rust、Julia、Nim、Go 语言、批处理 ...... 甚至可以直接嵌入汇编机器码并且转换为普通的 aardio 函数。aardio 可直接调用、嵌入、交互的第三方编程语言数量非常多,实现这些第三方语言接口的功能模块基本都是开源的(很多只用了极少的代码)。

aardio 可以嵌入非常多的浏览器控件,例如系统自带的 WebBrowser、WebView 控件、 以及 WebView2、WebKit、Electron、CEF3、HTMLayout、Sciter...... 甚至可以直接调用系统安装的 Chrome、Chromium Edge 等浏览器写软件界面。而且在网页中调用本地接口、以及 aardio 与浏览器的交互极其方便,例如直接调用 JavaScript 函数,并且在 JavaScript 中直接回调 aardio 函数,不需要任何复杂的封装和中间件,你甚至可以在 JavaScript 中直接调用 WINAPI 函数。

aardio 不仅可以方便地使用 Web 技术编写界面,也提供可视化开发工具,可以方便地通过拖拉传统控件创建程序。并且 aardio 提供强大的 plus控件(开源)可以方便地实现控件九宫格贴图、透明贴图、可以快速制作出漂亮的界面。而且aardio可以非常方便地生成独立、绿色、无依赖的软件,生成的软件极小,通常比使用其他开发工具编写的类似功能软件小几倍甚至是几十倍。并且 aardio 生成的软件可以完美兼容 XP,Vista,Win7,Win8,Win10,Win11...... 等所有流行桌面操作系统。

aardio 不仅仅可以开发桌面软件,也可以用于开发网站,aardio 可以直接支持与 PHP 类似的 HTML 模板语法,提供语言级别的模板解析,一个 aardio 源码文件,可以放 aardio 源码,也可以直接放 HTML,或者放 HTML,aardio 混合的模板代码,aardio 都能完美支持。并且 aardio可以使用几句代码就可以创建一个微型嵌入式 HTTP 服务端(可以集成 WebSocket 服务端),因此 aardio 可以非常方便地为浏览器控件提供 HTTP 服务端,并且像写网站那样写桌面客户端软件。

区别于其他动态语言,aardio 可以非常方便地支持真多线程,并且提供大量多线程函数库、演示范例等等。

aardio 处理 Unicode 编码非常方便且简洁高效,例如在 aardio 调用基于 UTF-16编码 的 Unicode WinAPI,或者调用其他基于 UTF-8 编码的接口,我们不需要多写一句代码处理复杂的编码问题。在 aardio 中字符串拥有独特的 UTF 自动标记特性,可以实现自动识别多种不同编码,虽然 aardio 默认编码为UTF-8,但字符串中可以存储二进制数据、UTF-8编码文本、UTF-16编码文本等等,所以 aardio 不但可以完美支持 Unicode,也可以方便地处理二进制数据、或者其他编码的文本。类似这样的创造性设计在 aardio 中随处可见,多次有用户反馈,学习 aardio 让自己的编程思路变得更开阔,使用其他编程语言也因此深受启发。

>> 下载 aardio 最新版本( 仅 6.5MB,绿色免安装,永久免费 )
>> 随着 aardio 功能不断增加,aardio 的体积正在持续地变小,当前实际的下载体积可能小于 6.5 MB
>> 推荐阅读《 aardio 编程语言快速入门 》   
>> 推荐阅读《 aardio 的 12 个误解与真相 》   
>> 更多开源项目:ImTip Gif123 WubiLex ...

aardio桌面软件开发 简单,打包后文件小,支持 .net python 和 众多插件的更多相关文章

  1. nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

    第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...

  2. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子

      本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

  3. C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享

    原文:C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享 1 : C# Assembly.GetEntryAssembly().GetName().Version. ...

  4. Mac 桌面软件开发基础问答

    1> Mac OS X平台下的桌面软件是由什么编程语言处理 答: 由Objective-C, swift编程语言处理 2> Mac OS X平台下的桌面软件是由什么框架构建 答: 由Coc ...

  5. C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享

    原文:C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享 曾经我做office,不想依赖别人dll,就使用了 Type.GetTypeFromProgID 可以根 ...

  6. webpack减少打包后文件体积的几种方法

    webpack 把我们所有的文件都打包成一个 JS 文件,这样即使你是小项目,打包后的文件也会非常大.下面就来讲下如何从多个方面进行优化. 去除不必要的插件 刚开始用 webpack 的时候,开发环境 ...

  7. .2-浅析webpack源码之打包后文件

    先不进源码,分析一下打包后的文件,来一张图: 首先创建两个JS文件,内容如下: // config.js module.exports = { entry: './input.js', output: ...

  8. Vue项目开发之打包后背景图片路径错误的坑

    在开发vue项目的过程中,使用浏览器进行预览的时候所有图片的路径是没有任何问题的,但是在打包后传到服务器上,在微信端查看背景图片时,background的图片竟然不显示,img标签里的图片却是正常展示 ...

  9. vue+webpack+element-ui项目打包优化速度与app.js、vendor.js打包后文件过大

    从开通博客到现在也没写什么东西,最近几天一直在研究vue+webpack+element-ui项目打包速度优化,想把这几天的成果记录下来,可能对前端牛人来说我这技术比较菜,但还是希望给有需要的朋友提供 ...

  10. webpack: webpack简单打包后的代码(1)

    源码 本文研究的源码地址为:https://github.com/collect-webpack/practice/tree/master/webpack-01 在本研究的前提是 entry 的配置为 ...

随机推荐

  1. UJCMS 9.1.0 发布,国内开源 java cms

    许可协议从GPL-2改为Apache-2.0,更宽松的协议,方便用户将系统集成到自身的应用中. 修复了已知bug,系统更加稳定. 升级日志(9.1.0) 修复前台全文搜索没有结果 web.xml se ...

  2. Gin

    0x01 准备 (1)概述 定义:一个 golang 的微框架 特点:封装优雅,API 友好,源码注释明确,快速灵活,容错方便 优势: 对于 golang 而言,web 框架的依赖要远比 Python ...

  3. MMDeploy部署实战系列【第一章】:Docker,Nvidia-docker安装

    MMDeploy部署实战系列[第一章]:Docker,Nvidia-docker安装 这个系列是一个随笔,是我走过的一些路,有些地方可能不太完善.如果有那个地方没看懂,评论区问就可以,我给补充. 版权 ...

  4. Flutter笔记 - 布局类组件

    布局类组件 Row水平方向排列 textDirection 水平方向子组件布局顺序. mainAxisSize 占用空间,默认MainAxisSize.MAX mainAxisAligment 对齐方 ...

  5. 通过部署流行Web框架掌握Serverless技术

    简介: 通过学习部署流行Web框架,如SpringBoot,Express,Web IDE,让你掌握Serverless函数计算架构和技术,领略弹性并发,高可用的好处.大家好,我是霍大侠,欢迎来到我的 ...

  6. 数据的“敏捷制造”,DataWorks一站式数据开发治理范式演进

    简介: 企业大数据技术发展至今,历经了两次蜕变.第一次蜕变从最初的"小作坊"解决大数据问题,到后来企业用各类大数据技术搭建起属于自己的"大平台",通过平台化的能 ...

  7. 阿里云RDS深度定制-XA Crash Safe

    ​简介: 近几年,随着分布式数据库系统的兴起,特别是基于MySQL分布式数据库系统,会用到XA来保证全局事务的一致性.众所周知,MySQL对XA事务的支持是比较弱的,存在很多问题.为了满足分布式数据库 ...

  8. LVGL scroll超出父界面不隐藏

    问题 超出父界面不隐藏问题,即时使用了lv_obj_set_style_clip_corner()函数,也不起作用,如下图所示: 即使使用lv_obj_set_style_clip_corner(vi ...

  9. 羽夏闲谈——NewCode

    前言   在工作学习中,我配置好了一个VSCode,学习C语言,需要经常性的创建代码文件,而往往这里面有一个固定的模板,比如下面: #define _CRT_SECURE_NO_WARNINGS #i ...

  10. 【web安全】修改和配置tomcat版本信息

    场景 目前网络安全的越来越受重视,tomcat作为重要的web容器被广泛应用,如何隐藏信息保证.在开放网络世界中,不易被攻击. 操作思路 1.进入Tomcat文件中的lib文件夹,将catalina. ...