[software development] 关于对deepin unioncode的一些想法,让更多编程爱好者受益
Tofloor
poster avatar
deepin
2023-12-23 11:56
Author

对于deepin/UOS的自研IDE-unioncode的发展趋势,我谈下自己的一些想法,希望能对社区更有用。

一.需要在IDE中提供代码示例、模版,让编程开发者减少重复开发的过程

以Qt应用开发,无论是声明式编程语言QML进行开发,还是Qt Widgets C++方式开发,其应用界面的“设计”或排版在绝大多数应用上都会有重复编写的内容。

比如菜单栏软件语言选择设置(中文/English)、界面皮肤背景色设置(白色透明/深黑色),等等.....

那么,这些重复编写的UI代码内容、软件级设置功能,完全可以在选择Qt/DTK应用开发时,为其提供一套成熟的应用界面模版,让编程开发者在一定程度上能够减轻代码编写量和测试量。

a.设计类界面模版-PS

image.png

b.社交软件模版-QQ

image.pngc.音乐播放软件模版-网易云

image.png

....

我这里的意思是:不管是国外开源的Qt应用,还是deepin在开源社区github中提交的开源应用,现在需要把这些开源应用产品的案例、界面模版加入到IDE-unioncode中进行分类管理,让这些资源可以在Qt/DTK应用开发的过程中能够方便更多的编程开发者的使用。

我们可以看看谷歌安卓开的IDE-Android Studio、华为鸿蒙开发的IDE-DevEco Studio,它们在创建应用时,都有固定的界面设计模版,让APP开发者不仅简单套一些UI界面模版,也能节省其开发的工作量。

image.png

image.png

可能这两款IDE并不是最合适的案例,但是我可以非常肯定的是:未来很多IDE,在应用或APP的界面模版上根本不需要太多的工作量,会有AI或相关的应用界面设计者专门来做这块,应用开发者会把更多精力放在产品的业务逻辑处理

也就是说,界面ui设计者系统研发者应用业务逻辑处理者,这三者会更加精细化分工,让deepin的软件生态建设能够加快进度。IDE,现在不止要加入AI来获取编程相关内容信息,更要有丰富的开源项目代码案例能快速改造产品需求的能力。

image.png

正如当下的商业软件WPS,它不仅仅是一款专业办公软件,还是一款可以通过PPT、word等文件格式提供更多文案模版的软件。用户不仅可以自己写文案,也可以把文案通过wps的商业模式分享给其他用户进行二次使用。

二.根据编程语言的种类,明确其开发用途和方向

image.png

deepin/UOS自研的IDE-UnionCode,目前支持的编程语言主要有:C/C++JavaPython.

从UnionCode相关关于这些编程语言的构建方式,我们可以更清楚的知道这些编程语言使用的范围:

1.C/C++,主要是进行Qt应用程序开发,采用cmake方式进行项目构建;

2.Java, 主要用于web线上平台、安卓应用程序的开发,采用Gradle、Maven方式进行项目构建;

.....

由于测试内容非常多,我感觉目前这些编程语言还是要单一的去实现一些项目开发的内容,就比如说C/C++在最开始是针对DTK开发套件去使用,那么DTK测试优化的进度肯定是快于Qt。

可以这么说吧,我们前期不能把所有的编程功能都实现,只能先单一的去进行,不然deepin官方的工作者也要花更多时间和更多人手去完成UnionCode相关内容的优化和升级。


最后,我还是希望UnionCode能在deepin V23 beta3版本进行正常安装和配置,并能进行DTK相关应用的开发,让自研产品能够更加实用且方便更多应用编程爱好者的使用。

Reply Favorite View the author
All Replies
f@deepin
deepin
2023-12-23 15:42
#1

这个工具初衷是自用吧smirk

Reply View the author
不知道用啥昵称
deepin
2023-12-23 16:29
#2

agree

Reply View the author
方老四
deepin
2023-12-23 21:10
#3

IDE-unioncode需要增加一个图形界面设计器。基于组件进行开发,是当前低代码图形化应用主要采用的方法。这些组件是以图形控件的形式提供给开发者,通过拖拽控件到窗体等容器中构成界面,再通过可视化的界面设置控件属性,并自动生成相应的qml代码,实现所见即所得。开发者则把主要精力放在业务逻辑代码的实现上。如果这个组件就是一个完整的窗体,那就是所谓的模板,实现模板窗体重用。这种模式确实可以大幅度降低开发门槛,提高开发效率。当然,最好是开发者可以对组件进行修改和扩展,大多数场景使用现成的组件即可完成,个别场景则需要开发者对组件进行扩充、修改或开发新的组件。

组件可以通过社区开源的方式来发展,吸取开源的力量,构建deepin组件库并提供组件开发指南,吸引大量开发者开发组件、共享组件,避免同一种功能重复开发,形成基于组件的开发生态。在移动领域,DCloud的插件市场管理做的比较好,可以学习借鉴一下。

下面是一个windows下的窗体设计器:

搜狗截图20231223170006.png

Reply View the author
把一切操作变成GUI
deepin
Backbone of ecological co-construction group
2023-12-23 22:29
#4

有模板的确不错

Reply View the author
deepin
2023-12-24 00:55
#5
把一切操作变成GUI

有模板的确不错

确实能减少重复的代码编写量。

Reply View the author
deepin
2023-12-24 00:57
#6
方老四

IDE-unioncode需要增加一个图形界面设计器。基于组件进行开发,是当前低代码图形化应用主要采用的方法。这些组件是以图形控件的形式提供给开发者,通过拖拽控件到窗体等容器中构成界面,再通过可视化的界面设置控件属性,并自动生成相应的qml代码,实现所见即所得。开发者则把主要精力放在业务逻辑代码的实现上。如果这个组件就是一个完整的窗体,那就是所谓的模板,实现模板窗体重用。这种模式确实可以大幅度降低开发门槛,提高开发效率。当然,最好是开发者可以对组件进行修改和扩展,大多数场景使用现成的组件即可完成,个别场景则需要开发者对组件进行扩充、修改或开发新的组件。

组件可以通过社区开源的方式来发展,吸取开源的力量,构建deepin组件库并提供组件开发指南,吸引大量开发者开发组件、共享组件,避免同一种功能重复开发,形成基于组件的开发生态。在移动领域,DCloud的插件市场管理做的比较好,可以学习借鉴一下。

下面是一个windows下的窗体设计器:

搜狗截图20231223170006.png

设计器,其实Qt也有。但是“界面模版”的出现,可以极大程度的降低UI组合的重复编写。

Reply View the author
deepin
2023-12-24 01:00
#7
f@deepin

这个工具初衷是自用吧smirk

加入模版后,其他编程爱好者可以重复利用这些模版和UI设计,同时也可以共同继续去优化这些模版。

Reply View the author