编程领域技术栈

计算机专业相关领域

PC客户端

主要语言 C++/C#/Objective-C(swift) Python Java

MacOS

Mac桌面级程序开发用的开发语言开发工具和iOS开发都是一样,都是swift(或者Objective-C)和Xcode。

Windows

MFC

微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。目前还占据着一定的市场,主要在军工、自动化等行业

Duilib

Duilib是一个Windows下免费开源的DirectUI界面库,由于简约易扩展的设计以及稳定高效的实现被各大互联网公司普遍接受,广泛应用于包括IM、视频客户端、股票行情软件、导航软件、手机辅助软件、安全软件等多个行业的众多pc客户端软件。

腾讯和网易基于此框架做了修改版

代表作品:

百度: PPS 爱奇艺 百度杀毒 百度卫士 91助手

腾讯: 微信 企业微信

阿里: 钉钉 支付宝安全控件 PP助手 优酷

详细软件列表

WPF 和 Windowsform (.Net Framework C#)

WPF,即windows presentation foundation,windows呈现基础,属于.net framework3.0,是微软推出取代winform的产品,能做到分离界面设计人员与开发人员的工作,提供多媒体交互用户图形界面,三大核心程序集是presentationcore、presentationFramework、windowsBase。

WinForm是·Net开发平台中对Windows Form的一种称谓。Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。Windows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件。WinForm控件是指以输入或操作数据的对象。比如:ComponentOne是.net平台下对数据和方法的封装。有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件的一些简单而可见的功能。包含在 .NET Framework 中的 Windows窗体类旨在用于 GUI 开发。

WPF和winform最大的区别在于WPF底层使用的DirectX,winform底层使用的是GDI+,所以WPF的图形界面上更胜一筹。

GDI+(Graphics Device Interface)图形设备接口,它的主要任务是负责绘图程序之间的信息交换、处理,所有windows程序的图形输出。

DirectX(Direct Extension)多媒体编程接口,加强3D图形和声音效果,有很多API组成。按照性质分类可分为四大部分:显示部分,声音部分,输入部分和网络部分。


UWP (C#)

UWP即Windows 10中的Universal Windows Platform简称。即Windows通用应用平台,在Windows 10 Mobile/Surface(Windows平板电脑)/PC/Xbox/HoloLens等平台上运行,uwp不同于传统pc上的exe应用,也跟只适用于手机端的app有本质区别。它并不是为某一个终端而设计,而是可以在所有Windows10设备上运行。

Windows UI Library

Dephi

Delphi是一个集成开发环境(IDE),使用的是由传统Pascal语言发展而来的Object Pascal语言。它在本质上是一个代码编辑器而不是一种语言,但是由于Delphi是几乎是市场上唯一一个使用Pascal语言的产品,因此有的时候Delphi也成为了人们称呼Object Pascal的代名词。Borland公司已经把Object Pascal语言改称为Delphi语言。

在早期Windows客户端程序开发中,一直占据着主导地位,初学使用来说,非常容易(编程基础要求不高),自带有设计可视化界面和大量实用组件,只需简单拖拽,就可快速构建一个GUI程序,编译运行效率非常高,不过随着c#的大力发展,delphi的应用范围正在逐渐压缩,但对于Windows客户端程序来说,还是一个非常强有力的开发工具:

可在Windows3.x、Windows95、WindowsNT、WindowsXPWindowsVistaWindows7Windows8、Windows8.1、Windows10等环境下使用。当前,Delphi 也可以在LINUX平台上开发应用,其在LINUX上的对应产品Kylix

powerbuilder

这也是Windows平台下一个非常不错的客户端程序开发工具,和delphi类似,在早期的Windows桌面开发中,pb也一直扮演者重要角色,自带有设计界面和众多组件,只需简单拖拽,就可快速创建一个可视化界面,所见即所得,除此之外,报表查询功能强大,支持各种主流数据开发,对于Windows客户端程序设计来说,也是一个不错的工具,不过命运多舛,随着c#的兴起,也正在逐渐走向没落:

VB

Visual Basic(VB)是由微软公司开发的包含环境的事件驱动编程语言。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以通过拖动VB提供的组件快速创建一个应用程序。主要IDE是Visual Basic的集成开发工具。

Linux

GTK

GTK使用C语言开发,但是其设计者使用面向对象技术。也提供了C++gtkmm)、PerlRubyJavaPython(PyGTK)绑定,其他的绑定有AdaDHaskellPHP和所有的.NET编程语言与其他很多部件工具箱不同,GTK并不基于Xt。这一决策优劣互见:优点是GTK可以应用于其他系统,其灵活性也很强;而缺点就是它无法利用以传统方法为X11定制的X资源数据库。GTK最早应用于X Window System,如今已移植至其他平台,诸如Microsoft WindowsDirectFB,以及Mac OS X平台上的Quartz.

Glade是一个界面设计工具,但是它也包含了一种描述GUI界面的XML语言,它和libglade一起工作就可以直接使用GTK和GNOME控件;新的Glade-3不再直接支持生成编程语言源代码

KDE

跨平台

QT

NW.js

支持(Mac Windows Linux)v0.14.7 支持xp

迭代快,Web技术构建 源码加密 支持chrome扩展

不错的社区,包体积大 ,性能一般

代表作品 微信开发者工具

Electron

支持(mac,windows,linux,不支持xp)

web技术构建 活跃的社区 大型应用案例 包体积 性能一般

代表作品

Atom VsCode slack Twitch

Python GUI

Python 常用GUI控件集有PyQt、Tkinter、wxPython、PyGUI、Kivy。

Java

移动客户端

IOS

Android

跨平台

WEB端

服务端

算法/人工智能

大数据/云计算

运维/Devops/网络安全

嵌入式开发

驱动开发

参考链接

https://www.wukong.com/question/6768828415781896455/

https://www.cnblogs.com/wangle1001986/p/12839657.html

https://www.jianshu.com/p/6fab1fe260d2