[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
2 / 2
To page
xiao80
deepin
2022-08-17 03:19
#21

这个在 qt 和 gtk 那里都叫 语言绑定,这两个都有很多语言绑定。

https://wiki.qt.io/Language_Bindings

https://www.gtk.org/docs/language-bindings

你管它叫前端,让很多人都误会你的意图了。

Reply View the author
阿甘
deepin
2022-09-17 05:40
#22

可以提供java、python等解释型语言的绑定,但这需要巨大的人力物力。

Reply View the author
deepin
2022-09-17 18:36
#23
阿甘

可以提供java、python等解释型语言的绑定,但这需要巨大的人力物力。

Java,感觉做企业级互联网平台有优势,但是做APP软件、PC端软件优势不大,主要是GC内存管理方面确实不如C++.

Reply View the author
703651814
deepin
2022-10-24 23:11
#24

排名前几的开发语言都应该支持,目前只支持C++无所谓,反正刚开始,等开发的差不多了,就应该添加其他语言的支持了,毕竟应用生态不可能是一种开发语言的

Reply View the author
deepin
2022-10-25 00:32
#25
703651814

排名前几的开发语言都应该支持,目前只支持C++无所谓,反正刚开始,等开发的差不多了,就应该添加其他语言的支持了,毕竟应用生态不可能是一种开发语言的

按趋势发展,C++也不会完全放弃,有些公用函数库、API接口还是要用C++。

DTK的SDK化,根据官方之前放出的消息,是让C++代码化的DTK套件变为中间件,再用DML*)做前端UI编程语言。

Reply View the author
2 / 2
To page