当前位置:网站首页>一款不错的工具:aardio

一款不错的工具:aardio

2022-04-23 14:23:00 strongerHuang

关注+星标公众,不错过精彩内容

b22eaf8b9ea1083c7e202418e49b4682.gif

来源 |嵌入式大杂烩

今天为大家分一款活跃了17年的开发工具:aardio。

本期主角:aardio

aardio属于易用性极强的动态语言,但也是一种混合语言,可以罕见地、非常方便地操作静态类型,因此可以直接调用 C语言、C++ 等等静态语言的 API 接口函数。

aardio应用于桌面软件开发。aardio已经发展了 17年 , 一直保持非常活跃地更新。

52f570b1665f7a08b5efae47840a000a.png

aardio的特点:

  • 良好的架构与语法

  • 小、轻、快,轻便利索,体积仅 6.5MB,学习和使用成本极低

  • 胶水能力极强

  • 可以嵌入非常多的浏览器控件

  • 不仅仅可以开发桌面软件,也可以用于开发网站

  • 可以方便地通过拖拉传统控件创建程序

aardio官网:

https://www.aardio.com/

aardio的使用

aardio说白了就是一门编程语言,它很灵活且强大。下面一起通过实例来简单了解aardio。

首先,从aardio官网下载得到aardio开发包:

b2300c6eb114339ee0c07150ed60da05.png

aardio的开发包非常小!里面的内容有:

89a47f6785cd7eea4a9bfb6846860925.png

其中,开发工具 aardio.exe 只有6MB!相对于其它如Qt Creator、VS等开发工具动不动就几个G,aardio.exe的小就是一大优势。

aardio.exe的界面如:

3339834b59995fd72568a7dbc6fbc9be.png

aardio专注于桌面软件开发。我们就来看一下如何使用aardio来写一个简单的 串口点灯上位机 。没错,这个我们之前有基于QT的手把手开发教程:易懂 | 手把手教你编写你的第一个上位机

本篇文章我们基于aardio来写一个,体验桌面软件快速开发!

首先,使用界面控件设计界面:

427effa113ac57ef239ed2a4cbdf5497.png

这些控件不是拖动过去的。而是 先点击鼠标左键选中某个控件 ,再在设计区域 点击鼠标左键放置控件

然后,切换到代码视图编写代码:

c009695f523549fdea969d91da07278c.png
import win.dlg.message;
import win.ui;
/*DSG{
    {*//*}}*/

// 串口列表
import sys.comPort;
var comPorts = sys.comPort.list();
mainForm.combobox.items = comPorts;
mainForm.combobox.selIndex = 1; 

import sio;
var sioPort;

// 打开串口
mainForm.openBtn.oncommand = function(id,event){
 if(sioPort){
  sioPort.close();
 }
 
 var err;
 sioPort,err = sio.port(mainForm.combobox.selText);
 if(!sioPort){
  return mainForm.msgErr(err);
 }
 
 sioPort.ioctl(eval(mainForm.baudrateEdit.text),8,1);
 
 mainForm.msgOk("已打开端口",1000)
}

// 关闭串口
mainForm.closeBtn.oncommand = function(id,event){
 if(sioPort){
  sioPort.close();
  mainForm.msgOk("已关闭端口",1000);
 }  
}

// 点灯
mainForm.ledonBtn.oncommand = function(id,event){
 if(!sioPort){
  mainForm.openBtn.oncommand();
 }
 
 if( !sioPort.writeHex("01") ){
  return mainForm.msgErr("发送失败");
 }
 else {
  return mainForm.msgOk("发送ON成功",1000);
 } 
}

// 灭灯
mainForm.ledoffBtn.oncommand = function(id,event){
 if(!sioPort){
  mainForm.openBtn.oncommand();
 }
 
 if( !sioPort.writeHex("00") ){
  return mainForm.msgErr("发送失败");
 }
 else {
  return mainForm.msgOk("发送OFF成功",1000);
 } 
}

if(_ARGV.opt){
 mainForm.edit.print(_ARGV.opt,_ARGV[#_ARGV]);
}

mainForm.edit.oncommand = function(id,event){
 
}

mainForm.static.oncommand = function(id,event){
 
}

mainForm.static2.oncommand = function(id,event){
 
}

mainForm.show();
return win.loopMessage();

代码比较短,大家应该都看得懂。

运行:

0617d417ed679554641ffdf087e42b76.png

测试:

程序打包:

9a55e20b096e2ac9aec1e9a46db7a5d1.png

程序打包发布,点击这个按钮就可以,生成的可执行程序不依赖其它文件,有点强~

a5511f9c3802965e44eaafe6925339d3.png

可以看到,对比之前易懂 | 手把手教你编写你的第一个上位机一文来说,使用aardio来写这个上位机要相对简单很多。无论是从代码量、步骤、程序打包。

从我写文的角度来看:写易懂 | 手把手教你编写你的第一个上位机这篇文章花了我近一周的业余时间;写这篇文章只花了两天的业余时间,包括去了解、学习aardio的时间~

aardio作为一门编程语言,其有一定的语法。相关例子:

44e93777435e86fd8e3e7db882b7de96.png

例如:

d6ad352ef5db2ce90f311a8344159e88.png

但学过C的我们应该很容易可以看得懂。

aardio同样是一门胶水语言,能嵌入很多主流的编程语言:

d9ffc9f883429d6e215dd38faedfdc27.png

aardio调用C语言函数:

3b6a15800cdf778dde924cceca68caad.png

aardio虽然主要是应用于桌面软件开发,但aardio还包含着许多其它内容:

8ffb7c05fdace7a3658e1ac576998b2a.png

每一块内容都有很丰富的例子,感兴趣的朋友可自行阅读学习。

本篇文章的上、下位机demo,可在公众号后台回复关键词:aardio ,即可获取。

如果觉得文章有帮助,麻烦帮忙点赞、收藏、转发,谢谢!

------------ END ------------

175a0f65e796adb081bdabf493ff5154.gif

●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程

关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

3a874a01f01244446cefa296bd8860ce.png

55794546001b3b6144e08918bb1976dd.png

点击“阅读原文”查看更多分享。

版权声明
本文为[strongerHuang]所创,转载请带上原文链接,感谢
https://strongerhuang.blog.csdn.net/article/details/124357951