[DTK] DTK开发框架,需要更多前端UI编程语言支持,而不是只限于C++
Tofloor
poster avatar
deepin
2022-07-14 09:45
Author

前言

deepin的开发框架套件DTK,现在基于QT5,框架前端(View)的编程为C++,后端(Service)编程语言为go.

个人开发建议

如果后端无大的改变,需要对DTK开发框架的前端View进行更多的编程语言支持,比如Java、rust、C#、JS、TS等等,让普通开发者不用再更多接触复杂的内存管理、指针变量数据传递等等。

具体开发实现流程如下

1.代码编辑器IDE-Qt Creator,在创建项目时开发者可以选择其中一种前端编程语言进行项目开发,并增加Java、rust、C#、JS、TS等前端UI编程语言的脚本编译环境。

2.以上前端编程语言在实现项目的功能时,我们可以通过编程语言“自动转编译”技术,把Java、Rust、C#、JS、TS等前端编程语言的代码再次转变为C/C++系统层编程语言,最终正常运行项目

3.其它前端编程语言通过“自动转编译”技术最终转成C/C++代码,是为了提高软件整体的性能,deepin研发团队的核心是在C/C++编程语言的资源优化,比如C/C++的函数、第三方资源库依赖等等。

DTK支持更多前端编程语言目的

1.国内和国外的编程开发者(如JS、Java开发者、C#),目前在应用层开发的人数非常庞大。

系统层的编程语言开发者(如C/C++、rust、go),虽然实力很强,但使用人群数量并不多。如果我们想要让deepin/UOS应用商店在短期内有更多原生软件上架,必须要想办法让全球的应用开发者都能参与进来,DTK的前端必须要支持多种前端编程语言的使用。

2.降低前端编程语言的上手难度,因为C/C++在指针、内存管理方面确实增加了很多应用开发者的学习成本,就算学会C/C++编程语言,C/C++开发者会不会用又是另一回事。通过提供“自动转编译”技术,让其它前端开发语言也能快速转变为C++代码,实际上是降低了软件前端开发者的使用难度。

3.通过更多前端编程语言的支持、自动转编译技术的提供,DTK开发框架最终很有可能会搞成完全适合自己的图形界面框架,以及新的编程语言。新的编程语言可以与微软的C#相抗衡。

结语

罗马不是一天建成,希望DTK支持更多前端开发编程语言,把C/C++放入到前端开发的底部,依靠自动转编译技术提高应用软件性能。当然,很多开发者更希望deepin/UOS在长期的发展过程中,能够搞出适合自己应用生态的编程语言,有利于软件管理和服务子系统的形成。

Reply Favorite View the author
All Replies
1 / 2
To page
deepin
2022-07-14 10:21
#1

DTK需要更多前端编程语言或应用开发语言进行支持,不是仅限于C++,这对于开源的Deepin操作系统变得至关重要。

Reply View the author
deepin
2022-07-14 10:23
#2

更多的前端编程语言支持,可以获得全球的应用软件开发者关注,deepin在短期内可以获得更多原生应用,软件管理与应用服务的子系统也可以逐渐形成、完善。

Reply View the author
deepin
2022-07-14 10:26
#3

从更多前端编程语言的技术支持,让deepin形成自己的开发者社区,并为自己的新编程语言奠定技术基础。

Reply View the author
deepin-superuser
deepin
2022-07-14 16:19
#4

java 写 UI 你认真的吗?

Reply View the author
butu
deepin
2022-07-14 16:41
#5

不要使用java写前端

Reply View the author
牧野
deepin
2022-07-14 16:49
#6

用解释型语言这系统应用就是个巨坑,别乱扯,前端语言只适合做项目写业务。deepin现在选择c++可是以前吃过亏顿悟的结果。普通用户不接受本地应用反应缓慢,卡顿现象!现在c++做的还有很多人吐槽系统不够丝滑!

Reply View the author
寂静的羽夏
deepin
2022-07-14 17:15
#7

Qt 这个框架算好啦,只要继承 QObject 的对象 new 出来有 parent 就不用管 delete ,这已经省了不少力了。它还支持 Python 开发应用,不过我没用过,具体开发还是执行效率未知,也不清楚它能不能用 DTK 。

C# 有一说一挺好用的,语法糖挺多,封装的库一个一个的,用起来十分顺手。不过目前支持 Linux 在 UI 桌面貌似只有 Winform ,那还不如 C++ 基于 DTK 。

C++其实用到开发基于 QT 应用这些层面,有开发项目的相关基础知识,其实也难不到哪里去,只要宏用得好,开发也相当省力。你要是直接用纯 C/C++ 当我没说……

Reply View the author
momen
deepin
2022-07-14 18:38
#8

qt不用管释放的,用完qt就给你释放掉了,而且新的一些c标准,他也解决了一部分不能自动释放的问题,随着时间的推移,c标准不断的更新,我相信越来越好的。

Reply View the author
deepin
2022-07-14 23:34
#9
deepin-superuser

java 写 UI 你认真的吗?

安卓开发也是用的java。

Reply View the author
deepin
2022-07-14 23:37
#10
momen

qt不用管释放的,用完qt就给你释放掉了,而且新的一些c标准,他也解决了一部分不能自动释放的问题,随着时间的推移,c标准不断的更新,我相信越来越好的。

可惜,我们没有自己的C/C++使用标准。阿里巴巴、华为等互联网科技公司针对java 8有自己的使用标准,深度deepin也需要针对C/C++建立新的使用标准。

Reply View the author
deepin
2022-07-14 23:38
#11
牧野

用解释型语言这系统应用就是个巨坑,别乱扯,前端语言只适合做项目写业务。deepin现在选择c++可是以前吃过亏顿悟的结果。普通用户不接受本地应用反应缓慢,卡顿现象!现在c++做的还有很多人吐槽系统不够丝滑!

现在很多应用就是搞业务

Reply View the author
deepin
2022-07-14 23:40
#12
寂静的羽夏

Qt 这个框架算好啦,只要继承 QObject 的对象 new 出来有 parent 就不用管 delete ,这已经省了不少力了。它还支持 Python 开发应用,不过我没用过,具体开发还是执行效率未知,也不清楚它能不能用 DTK 。

C# 有一说一挺好用的,语法糖挺多,封装的库一个一个的,用起来十分顺手。不过目前支持 Linux 在 UI 桌面貌似只有 Winform ,那还不如 C++ 基于 DTK 。

C++其实用到开发基于 QT 应用这些层面,有开发项目的相关基础知识,其实也难不到哪里去,只要宏用得好,开发也相当省力。你要是直接用纯 C/C++ 当我没说……

让DTK支持多种前端开发语言,就是为了不让深度deepin继续跟风QT6之后的新版本,更换路线,做自己的应用开发社区和生态。

Reply View the author
deepin
2022-07-14 23:45
#13
butu

不要使用java写前端

我的建议是指:用java、Rust、JS 、Ts等前端编程语言,来实现应用开发者在项目中的整体功能和逻辑,但实质上这些前端编程语言的代码仍需要在运行时变成为C/C++代码,进一步提高软件性能。

并不是直接让java、Rust、JS 、Ts等前端编程语言运行,实质还是运行编译C/C++代码,中间需要代码转译器。

Reply View the author
deepin
2022-07-15 00:06
#14

8B5844A2781F0B0219EE89B54E7FFF0F.jpg

Reply View the author
方老四
deepin
2022-08-01 04:39
#15

统信的规划是在2024年推出自己的IDE,对楼主的建议可能有考虑。龙芯中科的董事长胡伟武说过,自主操作系统的关键要有自己的编程语言和编程框架,并用这个框架开发应该软件,否则只能叫Linux的自主发行版。

Reply View the author
btxhh
deepin
2022-08-14 06:43
#16

你说的这个前端到底是操作系统前端,还是那个GUI的意思?操作系统前端关java、js、ts什么事?GUI关rust什么事?

Reply View the author
deepin
2022-08-14 18:29
#17
btxhh

你说的这个前端到底是操作系统前端,还是那个GUI的意思?操作系统前端关java、js、ts什么事?GUI关rust什么事?

QT开发框架的GUI前端。

Reply View the author
btxhh
deepin
2022-08-15 08:00
#18

QT开发框架的GUI前端。

后端程序员可以直接用c++,前端程序员直接用基于web的electron那些,这些技术都很成熟了,还需要什么rust和java?而且这些和rust、java有什么关系?这不是纯粹给自己找麻烦吗?不光麻烦deepin官方,还麻烦开发者。造轮子可以,但总不能为了造轮子而造轮子吧。

Reply View the author
btxhh
deepin
2022-08-15 08:06
#19

QT开发框架的GUI前端。

而且人家java自己好好的跨平台,有自己的GUI库,就算deepin官方提供了java支持,人家凭什么用?用了反而失去了跨平台的优势,用它脑子有坑吧。再说rust,rust写前端,真是为了另类而另类,这种人建议卸载所有GUI程序,命令行vim才能满足他们的装杯需求。建议你起码先了解一下这些语言,再去指点江山。

Reply View the author
deepin
2022-08-17 02:23
#20
btxhh

而且人家java自己好好的跨平台,有自己的GUI库,就算deepin官方提供了java支持,人家凭什么用?用了反而失去了跨平台的优势,用它脑子有坑吧。再说rust,rust写前端,真是为了另类而另类,这种人建议卸载所有GUI程序,命令行vim才能满足他们的装杯需求。建议你起码先了解一下这些语言,再去指点江山。

rust为什么不能写前端?

Reply View the author
1 / 2
To page