3

MiniGUI, RT-Thread, Dubbo, Spring

 2 years ago
source link: http://antkillerfarm.github.io/technology/2022/01/04/minigui.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

MiniGUI

2015.5

MiniGUI虽然是开源项目,但是并没有提供版本库,也就没有版本历史了。

作为一个曾经辉煌的国产开源项目,MiniGUI在00年代曾与LVS、SCIM并称为三大国产开源软件。更是当时嵌入式GUI开发方面不多的几个选择之一,江湖地位也很高。

但是自从Android横空出世之后,MiniGUI的日子就不太好过了。其主线版本停在了v3.0.12(2010.10),距离它的配套开发工具产品mStudio的推出不过3年时间。等于是辛辛苦苦将产品的版图扩充完整,却发现产品本身已经没有市场前途了……

出现这种情况的原因,其实与MiniGUI本身没有太大关系。当年的主要竞争对手Qt和GTK在嵌入式领域同样一败涂地。这一方面是由于Android实在是太强太好了,另一方面更重要的是硬件的进步,导致原先的这些资源消耗较小的GUI系统,变得不是那么非用它不可了。而比较功能的话,一个单纯的GUI和一个全功能的框架之间根本就没有可比性,就连最重量级的Qt也一样不行。

MiniGUI的作者魏永明所创建的飞漫公司,我曾经在2009年的时候,去那里面试过。当时的考官是个中年人,也不知道是不是魏老师本人。应该说笔试面试的情况还是很好的。这家公司的笔试题比较基础细致,在那次找工作的笔试中算比较难的,超过了腾讯。但给的薪水却非常低,甚至比我毕业时的第一份工作还低。可见在国内,以开源软件开发为主业的公司,日子过的还是很困难的。

MiniGUI惨淡之后,飞漫公司转战移动APP领域,但从网站上的版本更新状态来看,这次的转型似乎并不成功。

由此延伸开去,Android兴起前后,一大堆公司的命运都被随之改变。

1.博望科技。我所关注的牛人李先静之前所在的公司。当初为了开发彩信相关的功能,找到了牛人李的博客,于是也就持续关注了这个公司好几年。博望科技早先的目标是基于GTK搭建一个智能手机平台。

可惜直到Android出来的时候,完工度也不高。后来及时掉头,研究Android技术,成为最早的一批国产Android手机制造商和解决方案提供商。可惜从根本来说,Android的目的是降低智能手机的门槛。随着会的人越来越多,这类解决方案商就变得可有可无了。

同样的例子还有德信无线。

牛人李由于过度劳累,大病一场,大概3年前离开了该公司,至今仍处于半修养状态。

应该说,Android最开始的思路,实际上就和博望不同。Android盯着的是未来的硬件,或者说是硬件期货,所以一开始硬件的规格就比较高。尤其在最初的时候,不是顶级配置根本跑不了Android。而飞漫、博望的思路是如何利用现有的硬件做出好的产品,或者说是用尽可能少的钱(这通常意味着硬件的规格是向下的,或者至少是维持原状的)做出产品来。

但硬件的规格总是向上发展的,于是最初顶配才能跑的Android,现在随便什么硬件都能跑的了。这个时候,飞漫、博望之类的产品也就无人问津了。毕竟GUI应用,在嵌入式中还算是重量级的,真的低端设备,如传感器之类的,也用不上这个。

我之前的公司,早先还曾经有个单核跑双系统的AP+BP融合方案,目标是造出千元级别的Android手机。可惜也是逆了技术潮流,后来的AP都已经是双核的了,根本不需要你这样的方案来节省内核数。而最终,千元或以下的Android手机被造了出来,但根本就和这个方案无关,完全得益于硬件制造成本的下降。

但单核跑双系统的虚拟化方案本身还是很有技术含量的,国内当时根本没人会。这个项目主要是法国的团队主导的。

现在回想起来,这种方案大概和Xenomai项目差不多吧。
https://blog.csdn.net/pwl999/article/details/109412539
Xenomai(学习笔记)

2.播思通讯。中移动为了搞OMS成立的公司,我有同事在那里工作,本人也曾经去那里面试过。可惜由于技术实力太差,纵有中移动在背后站台,也还是烂泥扶不上墙。很快就被Google半年一次的更新甩在了身后。当然这也是Google的江湖地位使然。虽然播思也做出了输入法框架,但不是你主导的项目,你的再好,我也不用,很快就让你的劳动成了无用功。总的来说,这些Android改的系统,越深度定制越死的快,反倒是换皮的MIUI之类的,活的挺好的。

3.魅族。魅族在Wince时代,曾有一款深度定制的M8,当初曾寄望于成为国产的iPhone。事实上,如果没有Android的话,这个目标差不多就实现了。并不是说达到iPhone的水平,而是说除了iPhone之外,别人都没有我的好。

可惜Android的出现,使得一般的手机厂商也能造出现代的智能手机,于是魅族的这番努力,其实并没有得到多少的回报。总算魅族并不是手机解决方案商,而是制造商,没办法标新立异,却也不至于被别人甩下来。因此,魅族现在的日子,也还说的过去。


在本文写作的2015年,魅族尚算是第二梯队里的佼佼者,后面还有一堆第三梯队垫底。可现在(2021.9),第三梯队全军覆没,第二梯队也已经溃不成军。。。


2021.11

魏永明最近的发言:

笔者开发MiniGUI二十多年,知道使用C/C++如何开发界面,多写几行C/C++代码也能做出很多精妙的界面来。但有那么几年,笔者搞了几次Web前端开发,被Web前端技术开发界面的精妙之处所折服。后来再用C/C++语言开发界面,笔者心里也是百般地不情愿。要不是为了钱,都2020年了,谁愿意用C/C++开发GUI?

这差不多也是我的感觉了,回不去的老GUI岁月。。。最近几年我也没有造小工具的兴趣了,偶尔写也是python脚本。。。

MiniGUI从2017年开始,继续更新,现在已经是v5.0.6(2021.5)了。但从网站和访谈来看,飞漫大概也就定位于工作室了。。。毕竟魏老师真的很老了。。。


2022.1

好几年不做GUI了,现在的选手已经换了一轮:

https://zhuanlan.zhihu.com/p/448126678

各种GUIBuilder体验TouchGFX,AppWizard,GUIX Studio,Embedded Wizard,AWTK,柿饼UI,LVGL,Qt fot MCU等

AWTK是李先静加盟周立功之后的作品。相比于魏老师这样的历史成就和包袱都很重的人,年轻一些的李先静明显已经后来居上。他养病阶段就已经转向JS开发,当时我还有点纳闷。看来GUI的JS化是一个趋势,无非有人先知先觉,而我后知后觉罢了。

目前风头最盛的还是LVGL。

https://github.com/lvgl/lvgl

RT-Thread

RT-Thread是另一位我所仰慕的牛人熊谱翔的作品,一个嵌入式OS。

https://www.rt-thread.org/

熊谱翔的经历,差不多是我进入AI行业以前的经历的翻版,只是我的成就远不如他。一样都是从内核入门,GUI入道,然后进入物联网领域。所以我对他的经历很有共鸣。

RT-Thread提出的柿饼UI,是一款专注于嵌入式领域、JS脚本化开发的GUI解决方案。可谓和魏老师、李先静,英雄所见略同了。

Dubbo

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

阿里巴巴算是国内开源较多的IT企业了。但是早期仅仅满足于开源本身,对于开源项目的维护没有章法。Dubbo就是典型一例,开源之后的数年,没有任何官方升级和维护。社区由于官方的缺位,也没有大的动静。直到2016年,才纳入正轨。

http://dubbo.io/

官网的用户指南写的不错,非常值得一看。

https://mp.weixin.qq.com/s/bcwIMIir2RHPbQQr8HgTOQ

如何快速开发一个Dubbo应用?

https://mp.weixin.qq.com/s/fnrGjiywiySA8iAZh_cF0Q

阿里巴巴新开源项目Nacos发布第一个版本,助力构建Dubbo生态

https://mp.weixin.qq.com/s/AAcQRHZPvW11jvlbrLfRJA

携程的Dubbo之路

https://mp.weixin.qq.com/s/ZW4tO01gC65kZgOUappL9Q

漫话:什么是RPC

https://blog.csdn.net/m0_38110132/article/details/81481454

直观讲解–RPC调用和HTTP调用的区别

https://juejin.cn/post/6963642641506369566

为什么说Dubbo不适合传输文件?

Spring

Spring是一个Java Web应用框架。官网:

http://spring.io/

Ubuntu安装Eclipse、Spring

1.安装Eclipse

sudo apt install eclipse

2.安装Spring

sudo apt install libspring-web-portlet-java

注意:ubuntu软件仓库中还有一个叫做spring的游戏引擎,不要弄错了。

http://www.mkyong.com/spring/quick-start-maven-spring-example/

Maven+Spring hello world example

http://wiki.jikexueyuan.com/project/spring/

Spring 教程

Restful

http://spring.io/guides/gs/rest-service/

Spring Boot

https://www.tianmaying.com/tutorial/deploy-spring-boot-application

部署Spring Boot应用

http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

Spring Boot默认的配置文件

https://mp.weixin.qq.com/s/7I5OfGnGtXk2u9PtGLObCA

七个开源的Spring Boot前后端分离项目

WebService

https://spring.io/guides/gs/producing-web-service/

http://localhost:9999/ws/countries.wsdl

Serverless

https://mp.weixin.qq.com/s/geT7x5RG4xhD-Ro1eZvrdg

深入浅出Serverless:优势、意义与应用

https://mp.weixin.qq.com/s/6Rl1uvIeysG844W2TtGocg

一文看懂当红Serverless

https://www.zhihu.com/question/506704568

如何评价无服务器计算(serverless)的未来前景?你认为serverless有未来吗?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK