B4X简介

| 分类 技术随笔  | 标签 B4X 

B4X是一套用来开发跨平台应用的工具,包含针对安卓的B4A、针对iOS的B4i以及针对Java的B4J。它使用现代化的Basic语言,可以快速开发应用(RAD)。所编写的Basic代码会被转译到对应平台的代码,比如Java、Objective-C、C、JavaScript等等。

主要优点:

1. 现代化的Basic语言

B4X目前最重要的产品是B4A,它将Basic转译为Java,实现原生开发。因为基于Java,所以B4X也是一种面向对象的语言,在很多方面可以看到受到了Java影响。不过B4X的面向对象比较简单,对象有属性和方法,但是不能继承。而转译到Java的一个好处就是可以使用JVM平台上的各种类库。

当然,作为Basic风格的语言,使用Basic风格的关键字,比如If…Then、For…Next、Sub…End Sub、Dim等。

2. 跨平台

B4X支持的平台:

  • 移动端:Android(B4A)、iOS(B4i)
  • 三大操作系统(B4J):Windows、macOS、Linux
  • 嵌入式:Arduino(B4R)、树莓派(B4J+arm版Linux)
  • 另外还可以开发Web应用(B4J)

B4X目前不能做到编写一次代码,在各个平台上运行。但这给了我们原生环境编程的体验。我们需要了解Android、iOS的生命周期,了解它们的常用控件,一直到软件如何发布。很多原生平台的类库,可以直接进行封装,供B4X语言调用。

而纯粹使用B4X语言编写的代码,则可以在多个平台中共享。UI的跨平台方面,作者也在使用XUI进行尝试。

3. 强大的集成开发环境

安装包只有10几MB,配置所需环境也很简单,有详细的说明。

IDE功能强大,支持智能提示、自动补全、断点调试、调试代码热交换等等,有很好的图形化界面设计器。

针对Android和iOS的界面设计,还提供了远程的界面预览功能。iOS开发需要Mac电脑,还提供了Mac编译主机服务。

4. 活跃的社区

B4X作者Erel是一个非常勤奋的开发者,他会非常耐心地回答用户的问题。主要的讨论场所就是B4X的论坛。论坛基于xenforo构建,Erel还做了各种加强,比如一个好用的搜索引擎。

B4X虽然不是很热门,但也有很多粉丝用户,其中有现实中从事程序员工作的技术大牛,也有普通的希望学习软件开发的新手。技术高手除了开发各种类库、写教程外,也会热心地回答其它用户的问题。

论文的秩序维持是一件重要的事,比如发的帖子不能跑题,提与主题无关的问题要另开一个新帖子,提问时要贴出代码而不是图片等等。虽然严肃,但也创造了很多B4X用户才知道的梗,比如这个帖子提到了很多:B4X Forum memes

5. 丰富的学习资源

文档齐全,手册、教程还有各种函数、类库的文档。

一些集合帖:

很多内容,比如各种网络协议、安全问题、SQL和数据库等复杂的东西,B4X上的帖子都有清楚地讲解,而且B4X代码比较容易读懂,所以也可以用B4X来快速了解和应用各种技术。

除了文档,Erel还专门录制了教学视频:B4X Video Tutorials

我的博客也会继续发与B4X相关的内容。

另外讲讲B4X的在国内的情况。国内的用户不多,也没看到哪家公司招聘时说需要B4X开发者。不过应该是存在使用B4X作为主力开发语言的公司的。而个人用户可以使用B4X快速开发相关工具,帮助自己提高工作效率或者为他人定制软件。

B4X的推广,早期有沉默蜂,在163上写了很多B4A的博客,他也创建了QQ群。还有几个其它的群,有一个群的群主是刺鱼,管理员有王爷、icefairy333等人。但B4X的主要交流场所还是论坛,交流的语言是英文。

台湾联合大学的盧坤勇教授有把B4J加入了他的程序语言课程里:第十七章 使用B4J建立跨平台應用程式

B4X套件是闭源软件,其中,B4A和B4i是收费产品,B4J和B4R则是免费的。平时论坛里用户经常会贴出自己的源码,不过在GitHub和StackOverFlow等地方并不活跃。如果想使用主流语言,还是推荐使用Java、Python之类的,关于这点,可以看我之前的文章:小众编程语言

看了下B4X论坛上我的注册信息,算算我从2009年左右接触basic4ppc,学习编写PPC软件,到后来大一时利用B4A编写听雨书房,大二时利用B4i编写听雨BBS客户端,再到现在一直专注于用B4J开发桌面端和网页应用,也已经过了10年了。

我业余时间学习了Autoit、C、Pascal、B4X、Python、C#、Swift、JavaScript等各种语言,但是目前使用得最顺手的还是B4X。


上一篇     下一篇