Ⅰ 桌面端开发都用什么语言,简单分析下这些语言的优劣势对比
目前,最优的选择有四个:
1.如果只在win下使用,.net form是不二选择,可谓是又快又好,企业应用或定制开发都是相当好的,初学者也可以入手。
2.electron,跨平台。需要会前端,必须熟悉js、css和html。属于前端人员大杀器,如果是初学者,需要一下子学三样东西,再加上electron的进程间通信,可能会被搞懵。
3. qt5,可以使用qml(js语法)进行UI编程,但是需要懂c艹,但是写软件相当快,还可以写安卓、ios、linux、嵌入式中的应用。
4.flutter,刚刚正式支持win平台的软件开发。谷歌出的这个东西,适合没有基础的初学者,因为是一个全新的体系,全新的语言,写ios、安卓非常高效,之后还会兼容h5。如果是初学者可以跟着走,值得尝试。但是新东西总有一些坑。
正式项目跨平台建议electron或qt,只用win平台强烈建议微软自己的net。个人技术尝试建议flutter。
桌面端开发跨平台的,如果你是轻量级的项目,那么我推荐你用electron, 目前使用Electron来开发的桌面应用非常多,我们最熟悉的比如Atom,VScode等等。
而且在github上也能找到许多应用使用了electron。
electron是Node,Chromium,html,css,js的结合框架,这就需要你有一定的前端基础。其实只需要了解一下electron的API就行了,其他的就像你在做web是一样的。
这种方式最大的缺点就是性能,还有透明窗口也有问题。所以在做需要性能方面占有很大成分的项目时,并不推荐使用这个方式。
那么其他的,就是最近几年使用比较多的windows directui框架,但它不是跨平台的。
那么就引出了qt,作为c++跨平台的界面框架,这个上手的话,我觉得对一般人是有难度的,因为首先需要扎实的c++功底,其次你要熟悉控件的制作原理,因为有时候你需要定制自己的UI控件。它现在在嵌入式,军工领域非常受欢迎。但是整个库非常臃肿庞大,而且开发界面的效率也非常低。如果来做互联网项目,迭代更新的速度根本就跟不上。
目前都只有大公司会采用,像maya这种生产力型的应用很多是qt做的。
还有一种是直接使用Cef加js,比如网易云音乐,就是这么搞的,但是很多和系统平台的交互接口你需要重写,等于是需要自己造轮子。工作量大,目前没有适合的框架给你套用,也需要扎实的c++功底。
其实pc端的应用基本也就windows会火一些,再加一个macos,那么选择qt应该会很好一点,毕竟你自己造一个跨平台的框架,太费时。总之,做跨平台就意味着,不可能做到既有效率又完美的实现各种功能,许多都要自己摸索。
win桌面端直接上visual studio啊!然后你熟悉什么语言?vb.net,c#,c++都有相应的win桌面工具。直接用就好了,非常好用
编程语言这种东西无所谓,只要能用啥都可以。 主要看你老板需要和你会用什么语言。
比如 我用AS编安卓程序,当然用java。不过我后台最开始用ASP和ASP.NET来做,现在换PHP了。桌面端用QT或者VB做。 涉及单片机部分控制也用C。
现在做跨平台的了 开始以QT为主了。
只要能达到目的啥都可以。
学会1-2种 换其他的也不是很难。
对初学者来建议学C起步吧。
精通一门,重新学个语言入门也就1个月的事。
PC桌面程序,如果简单一点的,用pyqt5+python的开发难度和周期都比较现实一点
会C++ 用Qt5 非常不错 写代码效率很高
会js 用atom使用的那个框架
会Python用PyQt 写代码很快
会java用JavaFX
看语言咯
还可以用delphi,其firemonkey框架发布8年时间,支持跨平台:win,安卓,ios,macos,linux,后续支持webassembly,界面是控件拖拽布局所见即所得,开发效率较高。编译生成的是机器码,编译速度快,调试方便,其生成机器码运行效率较高,支持x86,arm的32位64位处理器。支持跨平台3D界面,蓝牙通讯,定位,重力,摄像等,支持多种SQL,NoSQL数据库。单个开发工具实现前后端开发,跨平台开发。适合个人和小公司用一套工具实现大部分开发需求。
主要有以下几种技术
### Duilib
#### 简述
Duilib是在Windows平台上使用最广泛的类库,使用C++和XML混合编程,国内很多计算机企业都喜欢使用这个类库,可能是由于他的技术许可比较宽泛的原因。
适合于界面比较简单的软件,视觉特效丰富,局限于Windows的平台。例子:360电脑管家。
#### 优势
#### 劣势
### Gtk、Qt或WxWidget:
#### 简述
三种基本可以做到跨平台的技术,使用C/C++开发,使用者广泛。其中WxWidget使用了API嫁接方式,Qt和Gtk(包括各种绑定技术)使用自绘技术。
结构严谨,软件可以做的很大很复杂。例子:WPS和Maya。
#### 优势
#### 劣势
### Electron:
#### 简介
使用Web技术开发桌面软件,基于Chromium(Chrome)引擎,使用JS编程语言,绝大多数使用者都是原来的网页开发者。
绝大多数都是爱好者使用,处于“勉强可用”的地步。
适合大面积静态展示型软件使用。例子:网易云音乐。
#### 优势
#### 劣势
### QtQuick(QML)
#### 简述
Qt公司开发的一款基于OpenGL的图形类库,有显卡加速,类似于Duilib。采用了C++与QML混合编程。QML类似于JavaScript语言。
QtQuick下一个版本在Qt 6上更加强大,业界期待已久。
#### 优势
#### 劣势
### Atk、Swing或JavaFX
使用Java语言开发软件,有JDK加持业界积累的众多Java类库支持。有不输于VS的IDEA加持,本应该更棒,只是现在已经式微了。
绝大多数使用者都是企业开发(不追求界面美观)、爱好者(开发顺手)。
### WinForm、WPF或Xamarin:
使用C#开发,WinForm和WPF局限于Windows平台。有VisualStudio加持使用很爽。
### Flutter:
使用Dart语言,新类库,bug可能会很多。
### SwiftUI或Cocoa:
苹果平台原生界面技术,macOS平台内建支持,不是macOS专用软件不推荐。
### Win32:
经典Windows 平台API,绝大多数只有一些老软件还在使用,不是维护老软件不推荐。
winform,不二选择
webview2,作为一个浏览器控件嵌入在桌面应用中,支持.net core和.net framework
Ⅱ 学习编程突然开窍是一种什么体验
初中时,那是97年,初次接触电脑,便对电脑产生了一种神秘的感觉。当然因为环境和条件的问题,之后基本没有碰过电脑,对电脑产生了敬畏心理。大一在图书管初次看到VB的教程,深深的爱上编程,动画设计。那时侯我对计算机还一无所知,程序员这个称号,我只感觉有这样的称号的人是计算机高手,怎样去努力获得这样的职位我完全不懂。不过的定下目标,在07年要拿到这样的证书,还有计算机3级,4级。那时计算机的每一个环节都深深吸引着我,我全身心投入了学习中。不过后来由于生活的种种原因,我发现我已无心再继续下,我似乎放弃了。
却陷入了游戏中,变的无所事事。06年底,考试前半个月,发现大学已过去大半,我对这样的生活有点厌倦,就想还有什么没有完成。发现大一时的目标依然留在大一没有完成。而那时也只有半年的时间了。于是我把半年细分,安排每一阶段的目标,最终完成了大一的理想。
虽然拿到了程序员证书,但是依然有个问题困扰了我很久,之后两年都没有接触编程。就是一个黑乎乎的界面跟软件有什么关系,这个谜底一直困扰着我。
直到09年,一直失业的我决心重启计算机编程,路过深圳的书店,买了基本书,C++,C#等等,结果很快就看完了,心中的疑惑依然没有解开。没办法又出去工作半年,半年后在次失业,对工作已经心灰意冷的我决心再次重学编程,这次买了一本JSP,JAVASCRIPT+HTML+CSS。JSP不用说,完全看不懂,JS,HTML,CSS当然照书看,抄,能看懂一部分,可惜完全不上道。阴差阳错,那是后在迅雷看看到马士兵手把手视频教程,JAVASE,坦克大战实战视频,就跟着学,半个月后把SE看完了,然后看实战教程,结果完全看不懂。一遍一遍,依然没看懂,最后有些放弃的感觉,终日通宵电影游戏。大学毕业却没有工作的哪种感觉,那种惶恐,无奈,害怕父母有一天老去,害怕出门碰到邻居亲戚。
后来在网上看到关于JAVA培训的班,就留了电话。但是没有去,父母看到我整天玩游戏,就把网停了。没有了网络,更是害怕。按耐不住的我,决心再看视频教程,看了几集就看不下去了。然后这样一次次,反复,最后还是没有看懂。也许不是这块料,也许需要人指导。终于觉得到福州看看培训班,去了福州我决心报名。交了钱以后还有一个星期开始上课,然后我就回家把电脑拿到福州,台式电脑,搬的很辛苦。这个星期,依然没有网络,只有下载的视频,也许因为可以有机会好好学习编程,暂时不用担心工作问题,内心平静了下来,决心再看一次,第一次的时候似乎看懂了,又看了两次,每次都是一行行照抄,终于在第三次的时候,我看明白了,那时我突然有一种感觉,一种似乎我能够自己写一个贪吃蛇,没有网络没有导师没有参考资料,没有书籍,只有JDK帮助文档,但是心中的疑惑已经解开,我感觉领悟到了编程之道,然后吃饭想,睡觉想,上厕所想,终于做出来了,虽然有很多问题,但是那时第一个算一个成品的软件。然后,此时我认为自己能够写一个俄罗斯方块,依然茶饭不思,几天时候做出来了。此刻我感觉自己悟道了。
再次看JSP,JAVASCRIPT,数据库,socket,swing的时候,我感觉畅通无阻,因为明白了如何去思考,如果去查阅文档。
之后虽然上了培训班,但是从来没有碰到难题,也没有问过老师问题,基本上第一阶段我已经把第二阶段看完了。
14年再次学习了C++,VC之后,对编程有了更进一层领悟。从C++语言,到VC到MFC,CEF,NPAPI,NPAPI,Duilib,Activex,短短的数月,就熟练了他人数年的技术。,也许那是是最巅峰时期。15年发现支付宝漏洞,18年重写带宽提速算法。当然现在依然宝刀未老。之后5年没有接触C++,19年看到别人用时,依然能够指导其完成,拥有的是思维。在软件编程中从未碰到解决不来的问题,在网上和工作中帮助过很多程序员,不乏有顿悟的人。查找问题的速度也不是常人能及。
中间找工作一直很困难,别人问我觉得哪里有难度,我不知道怎么回答,我总觉得没有难度。
不过,人生很多不定数,虽然悟道,但工作一直不顺利,几经波折,中间没有大起却有大落,工作之外写过很多软件