V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
macha
V2EX  ›  程序员

刚毕业一年多的人苦逼还在搞 Windows 客户端开发,真心不知道以后应该怎么办。

  •  
  •   macha · 2018-01-14 21:14:33 +08:00 · 17688 次点击
    这是一个创建于 2264 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Windows 开发真是难啃,资料偏少,什么都要自己写。关键公司也没有几个人搞了,感觉自己以后要失业的节奏。不知道以后该如何是好,求各位指点一二。
    99 条回复    2018-12-03 23:45:56 +08:00
    xiaoyaoking
        1
    xiaoyaoking  
       2018-01-14 21:21:43 +08:00 via Android   ❤️ 7
    别人不知道 反正我写程序一直都是 复制粘贴
    HuHui
        2
    HuHui  
       2018-01-14 21:27:30 +08:00
    武汉貌似还有不少
    crist
        3
    crist  
       2018-01-14 21:28:35 +08:00
    桌面应用?
    wdlth
        4
    wdlth  
       2018-01-14 21:36:02 +08:00
    还有写 Powerbuilder 的呢……有需求就有市场。
    chroming
        5
    chroming  
       2018-01-14 21:37:25 +08:00 via Android
    是没什么市场了,但是能咋办呢,先混口饭吃自己再学学其他方向吧
    shijingshijing
        6
    shijingshijing  
       2018-01-14 21:51:39 +08:00   ❤️ 1
    Windows 的开发还难啃?自带 MSDN,宇宙第一 IDE,Stackoverflow 各种加成,写起来不要太简单了。

    用微软系的都是大公司,随便大点的外企,或者非互联网的行业用户,简直随便找。当然工资是比不上互联网,但是也不加班啊。
    tmac
        7
    tmac  
       2018-01-14 21:55:20 +08:00 via Android
    试试 electron
    macha
        8
    macha  
    OP
       2018-01-14 22:24:04 +08:00
    @shijingshijing 都是界面上的和 windows 底层的东西,Stack Overflow 上压根都搜不到什么代码了,只能在公司的产品代码里面搜一些例子参考一下。
    Khlieb
        9
    Khlieb  
       2018-01-14 22:51:43 +08:00 via Android
    微软官网上就有好多资料供楼主享用
    https://developer.microsoft.com/zh-cn/
    shijingshijing
        10
    shijingshijing  
       2018-01-15 01:35:22 +08:00   ❤️ 1
    @macha 底层能底到哪里去?让你修 Kernel 么?还是写驱动?微软的东西讲真比开源的好多了,毕竟是花钱了的,写微软的东西各种舒服不操心。。。
    zonghua
        11
    zonghua  
       2018-01-15 02:05:04 +08:00 via iPhone   ❤️ 5
    现在互联网公司给的 Windows 客户端都是用 electron 来糊弄,耗电又迟钝。
    XiaoFaye
        12
    XiaoFaye  
       2018-01-15 04:37:18 +08:00
    楼主,千万别小看 Win32 编程呀,把它搞透了,这世上基本没有编程工作能难倒你了。
    likuku
        13
    likuku  
       2018-01-15 04:37:41 +08:00
    "资料偏少" ... 我是不是看错了?!
    xupefei
        14
    xupefei  
       2018-01-15 05:38:39 +08:00   ❤️ 1
    Win32 编程多好,底层学习内核原理编译原理,中间学习内存分配资源调用,上面学习人机交互图形学 GPU 运算,简直无敌啊。这一套下来内功深厚,简直无敌。

    现在互联网行业这么热门,你要是了解一些系统底层知识,就算去写前端也有帮助。了解系统运作方式的话,遇到问题时的思维和不了解的人相比是不同的。
    MinQ
        15
    MinQ  
       2018-01-15 08:03:12 +08:00 via Android
    之前 hook DirectX11 的时候才叫痛苦,真的是没资料还什么都要自己写。其它的时候 MSDN 上基本上都能挖到东西,还有堆成山的示例代码可以参考
    hsuan
        16
    hsuan  
       2018-01-15 08:17:54 +08:00 via Android
    其他方面随便黑,但资料偏少真的是瞎黑
    lovefantasy
        17
    lovefantasy  
       2018-01-15 08:18:30 +08:00 via Android
    以前一个群里有 360 和微软的大牛,搞内核驱动的,待遇还不错
    facetest
        18
    facetest  
       2018-01-15 08:25:17 +08:00 via Android
    想办法转方向,我当初刚毕业去搞 mfc,浪费了 2 年时间,非常伤。
    mohoumk2
        19
    mohoumk2  
       2018-01-15 08:31:02 +08:00 via Android
    我也是写 Windows 底层的…感觉还好吧,至少有些参考资料
    killergun
        20
    killergun  
       2018-01-15 08:38:05 +08:00
    使用 bs 模式开发啊
    yulitian888
        21
    yulitian888  
       2018-01-15 08:41:38 +08:00
    资料偏少?第一次听说 win 的资料少的!同级产品,Linux/Unix 和 Mac 的资料很多?
    PythonAnswer
        22
    PythonAnswer  
       2018-01-15 08:41:47 +08:00 via Android
    win32 行业软件 发财啊。
    xyFantasy
        23
    xyFantasy  
       2018-01-15 08:46:47 +08:00 via Android
    做 win32 开发的少了,竞争也就少了
    albertofwb
        24
    albertofwb  
       2018-01-15 08:56:32 +08:00   ❤️ 1
    在下爷爷刚毕业不到一年,在公司用 C# 撸桌面客户端程序,有时候需要客串下 C++
    一开始非常非常喜欢用 python 现在觉着在 windows 下开发也蛮舒服的

    MSDN 简直不能更给力,编程就是 参考前辈轮子+StackOverflow+MSDN+github
    albertofwb
        25
    albertofwb  
       2018-01-15 08:57:06 +08:00
    上面的 “爷爷” 打错了,应该是 “也”
    owenliang
        26
    owenliang  
       2018-01-15 09:04:52 +08:00 via Android
    干吧 干啥都差不多
    SourceMan
        27
    SourceMan  
       2018-01-15 09:08:08 +08:00 via iPhone
    中文资料偏少?
    LanAiFaZuo
        28
    LanAiFaZuo  
       2018-01-15 09:20:37 +08:00
    java 也可以开发桌面的吗?
    xomix
        29
    xomix  
       2018-01-15 09:29:41 +08:00
    @albertofwb 看回复的时候就在想,你这是多大就能上网了,考虑这个逻辑能走通需要怎样的设定,正在脑补 50 岁读大学毕业后孩子的儿子小学毕业能上网发信息的大戏呢。
    Wicked
        30
    Wicked  
       2018-01-15 09:49:07 +08:00 via iPhone
    Windows 开发资料少喷了,微软的文档秒杀 Apple 几条街好吗…个人认为微软是对开发者最友好的公司之一了,Windows 开发也是最容易上手的平台之一
    macha
        31
    macha  
    OP
       2018-01-15 10:08:52 +08:00
    难道大家不觉得 MSDN 上的资料看着多,但是实际用起来的时候感觉他好像什么都没有讲么?
    我之前做的一个功能就是 service 和 GUI 程序之间用管道进程间通信,我把 MSDN 的关于 pipe 的文档翻了个遍,但是写出来的东西还是不稳定,想去找一些成熟代码参考也找不到。
    写 Python、Java 这些语言至少都会有一些开源的东西让你参考学习,写 Windows 的东西只能自己去翻 MSDN,或者参考公司内部的代码库。
    winhttp 这个库和 libcurl 比起来差很远吧。我之前用 winhttp 真是苦不堪言,出了问题只能对这个几个错误码干瞪眼,换了 libcurl 以后舒服多了,出了问题基本一搜都有类似的解决办法,封装 libcurl 也有大量成熟的代码可供参考。
    nicevar
        32
    nicevar  
       2018-01-15 10:38:19 +08:00   ❤️ 1
    @macha 你是没工作多长时间吧,估计主要是靠搜索编程,找到现成的代码依葫芦画瓢,这样的话确实 windows 开发确实能找到的东西偏少了,因为 windows 上面编程变化不太大,各种资料已经趋于稳定状态,原来的开发人员基本上不怎么需要查资料就能进行开发了,如果在各个平台做过开发就知道微软的文档是最良心的,开个玩笑如果把一堆程序员关密室,靠文档开发才能逃出来,一定是 windows 程序员逃得最快,其他程序员遇到的情况五花八门,有因 api 变动未注明直接进入死胡同、有因写文档期间出去度假回来遗漏部分而目瞪口呆的、有因版差异活活闷死的
    zhang1215
        33
    zhang1215  
       2018-01-15 10:41:47 +08:00
    我也是,感觉毫无前途,自己私下里学点东西,准备年后跑路
    woodensail
        34
    woodensail  
       2018-01-15 10:44:17 +08:00
    现在还有人写 Caché呢,我都不知道这些人跳槽了还能干啥……
    Yoock
        35
    Yoock  
       2018-01-15 10:45:46 +08:00
    没有比 MSDN 更友好的文档了吧?
    yulitian888
        36
    yulitian888  
       2018-01-15 11:12:15 +08:00
    @macha 你说的那些,做同样的功能,请查阅 Linux 和 mac 的文档之后再做判断。
    既然你用 libcurl 和 winhttp,想必做的是 c/c++吧?且不说文档如何,各种不同版本的 c/c++库,使用的 string 有多少种不同的实现,哪家敢说比微软做的更舒服?
    yulitian888
        37
    yulitian888  
       2018-01-15 11:13:33 +08:00   ❤️ 2
    @macha 接#37 楼,补充。你认为“...MSDN 上的资料看着多,但是实际用起来...”,其实你要的不是 document,而是 demo !
    online2offline
        38
    online2offline  
       2018-01-15 11:14:21 +08:00
    学点好技术,随时准备转职。
    sfqtsh
        39
    sfqtsh  
       2018-01-15 11:15:11 +08:00 via Android
    庆幸下自己。
    defphilip
        40
    defphilip  
       2018-01-15 12:02:33 +08:00   ❤️ 1
    在下是也是 windows 开发,现在在一家很大的互联网公司里实习
    当然我们用的不是 electron 啥的,而是自己内部的框架,而且还是用 COM 糊起来的,也是像楼主一样有什么问题只能查内部代码,但个人认为这不是问题,毕竟界面 API

    个人认为 msdn 已经是最好的帮助文档了,其实做客户端来来去去就是那几样东西,遇到问题 stackoverflow 和 github 上基本都有解决方案,项目里有些比较难理解的逻辑问题问下组里的老人就可以了,我自己实习的时候就是这么干的

    我觉得做程序员不一定要死磕某一项技术,可以在业余时间多学点其他东西,前端后台都可以,甚至计算机视觉和机器学习都可以,也为以后跳槽做好准备把,哈哈
    macha
        41
    macha  
    OP
       2018-01-15 12:23:33 +08:00
    @defphilip 可惜我这边的老人都离职了,新手搞这个确实很恼火。
    macha
        42
    macha  
    OP
       2018-01-15 12:27:25 +08:00
    @nicevar 确实是工作没多久。
    liquanhai
        43
    liquanhai  
       2018-01-15 12:40:15 +08:00 via Android
    Windows 桌面程序开发,好亲切,好熟悉。15 年前做 delphi 开发,后面用 MFC 和 c#+winform,目前在用 QT. 编程思想是相通的,语言和框架仅仅是工具。
    如今是移动应用的天下,桌面开发越来越窄,能转个行,得趁早!
    toono
        44
    toono  
       2018-01-15 12:40:27 +08:00
    @xupefei 说真的,越是写程序越是希望有深入底层的机会。楼主估计是还没看到门道
    feverzsj
        45
    feverzsj  
       2018-01-15 12:57:34 +08:00
    windows 当然没前途,不说技术不行,在国内也是 zz 不正确
    ospider
        46
    ospider  
       2018-01-15 13:01:51 +08:00 via Android
    electronjs 吧,跨平台
    shimomiaizo
        47
    shimomiaizo  
       2018-01-15 13:07:01 +08:00
    刚毕业一年多你还想干啥?造火箭?你要真想造火箭你连在这发帖的时间都没有。
    sgissb1
        48
    sgissb1  
       2018-01-15 13:33:33 +08:00
    看你做什么层面的,纯应用软件的话,其实 windows 下开是最便捷的(除了界面库选起来比较累)。

    如果是做驱动、编解码,图形引擎,那么 windows 也还算比较方便的。因为有完整的 wdk 文档、dx 文档等,如果要用类似 ffmpeg 的开源在 windows 上的话,比较让人头疼的主要还是编译和调试。
    hardman
        49
    hardman  
       2018-01-15 13:50:55 +08:00 via Android
    说实话 win 的开发文档真的不要太详细 vs 开发中文语言太他妈详细
    albertofwb
        50
    albertofwb  
       2018-01-15 14:37:34 +08:00 via Android
    @macha 有前辈指路还是很爽的,自己死磕有时候效率很低
    ibugeek
        51
    ibugeek  
       2018-01-15 14:54:29 +08:00
    趁早转行,之前搞过 MFC 和 win32 开发界面,后面转 Qt 了,但是又如何?不是大城市基本上找不到对口工作。
    halFKing
        52
    halFKing  
       2018-01-15 15:09:39 +08:00
    @liquanhai
    @ibugeek
    同感啊,从 winform,wpf 搞到 Qt,最后还是转 web,桌面开发太窄了,做到后面你自然而然会转

    不过也不要觉得浪费时间,尤其刚毕业,其实做什么都能学到东西,基础知识在哪个领域都是通用的
    wupher
        53
    wupher  
       2018-01-15 15:45:20 +08:00
    需求还是有的,不过确实不是热点,对于跳槽来说,非常不方便。不过,对于单位来说,确实不可替代性也比较强。

    我单位 Delphi 的还有几个,也是类似的情况,想找人接,也没人愿意。
    muntoya
        54
    muntoya  
       2018-01-15 16:19:48 +08:00
    侯捷和 windows 程序设计那几本看完,界面开发不可能有啥问题了,想用开源库 boost 也基本够。
    只要别想跳过基础就行,windows 的工具那么好调试,真是比 linux 服务器简单多了~
    eaglexiang
        55
    eaglexiang  
       2018-01-15 16:23:42 +08:00 via Android
    我支持楼主。微软的资料虽然确实很多,但其实大都很浅,局限于库的简单说明。但真要涉及到 win32 编程实现高级功能(而不是简单地调用.NET 库),反而很难找到资料。比如假如因为工作环境所限,需要劫持系统中所有流量(包括 TCP/UDP ),别的平台思路很明了,Windows 平台根本连资料都搜不到
    qvvo
        56
    qvvo  
       2018-01-15 16:56:41 +08:00 via Android
    搞了十年 windows 桌面开发路过,现在搞 wpf
    ftexplore
        57
    ftexplore  
       2018-01-15 17:03:19 +08:00
    loqixh
        58
    loqixh  
       2018-01-15 17:08:31 +08:00
    @eaglexiang ........搜的姿式不对 https://msdn.microsoft.com/en-us/library/windows/desktop/ms741418(v=vs.85).aspx
    要更底层的话可以用 winpcap, 要么就自己写驱动
    xupefei
        59
    xupefei  
       2018-01-15 17:08:49 +08:00 via Android
    @eaglexiang 你当真? WinPcap 文档全的不能再全了。
    就算不想用这个,openvpn 的 tap 驱动文档也十分丰富。
    catinred
        60
    catinred  
       2018-01-15 17:56:37 +08:00
    Win32 的东西,别的不说,调试的时候不要太爽啊。
    jeremaihloo
        61
    jeremaihloo  
       2018-01-15 18:06:21 +08:00
    说资料少的,说明这个搜索文档的能力有待提高呀:)
    fghjghf
        62
    fghjghf  
       2018-01-15 18:35:35 +08:00
    果断转.net 做后端。去一些传统去也还能生存下去。这个念头搞 win 桌面开发,根本就是死路一条
    evernight
        63
    evernight  
       2018-01-15 19:52:31 +08:00
    作为一名写了 10+年的 windows 工程师,我觉的 win32 的资料应该很多的呀,google 百度上搜就可以了,我记得以前 csdn 上还有专门的版块可以搜,还有各种 c++进阶的书记非常多,毕竟很古老的技术了,而且 win32 学深了,你再回头转 Android,转 iOS,转后端都很容易的,前提是你工作的头几年技术不要打酱油。
    missdeer
        64
    missdeer  
       2018-01-15 20:09:18 +08:00 via Android
    还有比 windows 开发资料更多的其他开发吗?

    说 msdn 讲得浅的一定没看过《 windows 核心编程》,其实 msdn 上都有,只不过书上总结得更系统。我转 mac 和 Linux 开发时多么希望其他平台也有一本这样的书啊☄ฺ(◣д◢)☄ฺ
    yuelang85
        65
    yuelang85  
       2018-01-15 20:33:22 +08:00
    做为一个后端,我还很羡慕 windows 开发呢,因为可以做很多面向用户的应用,可以做私活,给身边人造福。
    shijingshijing
        66
    shijingshijing  
       2018-01-15 21:44:08 +08:00
    @missdeer Mac 不知道,但 Linux 的 Application,Kernel,Driver 方面的书,简直不要太多,而且都是经典的鸿篇巨著。

    Application 有经典的 APUE (虽然我看了一半放弃了),如果觉得不合适还有 The Linux Programming Interface,这本书真的是通俗易懂与时俱进。Kernel 和 Driver 也是,LDD,LKD,ULK 太多了。

    唯一的缺点就是都是大部头,写的都不错,选择困难症克星。。。 一定要看英文原版
    eaglexiang
        67
    eaglexiang  
       2018-01-15 22:17:14 +08:00
    @loqixh 谢谢,确实是有的,是我了解太少了
    eaglexiang
        68
    eaglexiang  
       2018-01-15 22:17:50 +08:00
    @xupefei 谢谢,确实是有的,是我对这方面了解太少了
    diyisoft
        69
    diyisoft  
       2018-01-16 06:57:47 +08:00 via iPhone
    难道必须搞前端和 app 才可以吗?!
    zzugyl
        70
    zzugyl  
       2018-01-16 09:03:44 +08:00
    就我所在的行业而言,目前移动端开发者比较多,反而 Windows 客户端开发比较稀缺了。经常猎头问我是否有 pc 客户端开发人员推荐。
    purejs
        71
    purejs  
       2018-01-16 09:07:35 +08:00   ❤️ 1
    程序写到最后都是一样的,即做一份翻译工作
    pezy
        72
    pezy  
       2018-01-16 09:15:57 +08:00 via iPhone
    才一年,我毕业七年了,一直在写 windows 客户端。从最底层的 windows API 到 MFC,到现在的 Qt。除了工资苦逼,别的没啥苦逼的。API 程序员,有什么苦逼的呢?资料少是因为那点应用读文档就足够了。。。
    ibugeek
        73
    ibugeek  
       2018-01-16 09:16:41 +08:00
    @halFKing #53 是通用啊,关键在于经验就少了,比如你 Qt2 年经验转 web,就算技术不是 0 起步,经验别人也看成 0 起步,薪资水平就差了,大部分的公司只看你技术经验。
    ibugeek
        74
    ibugeek  
       2018-01-16 09:18:09 +08:00
    @pezy #73 哈哈,还是找到了几个同样经历转 Qt 的啊,不过我已经转到世界上最好的编程语言了。
    leexy
        75
    leexy  
       2018-01-16 09:37:02 +08:00
    php 是... 算了,不说了
    chenweidong
        76
    chenweidong  
       2018-01-16 10:01:16 +08:00
    666
    shijingshijing
        77
    shijingshijing  
       2018-01-16 10:02:41 +08:00
    @ibugeek 是入了 PHP 神教么?
    Terry05
        78
    Terry05  
       2018-01-16 10:08:18 +08:00
    大微软有闻名世界的 MSDN,居然楼主会说资料少……
    shijingshijing
        79
    shijingshijing  
       2018-01-16 10:19:50 +08:00
    @liquanhai
    @ibugeek
    @halFKing
    @pezy

    我发现以前写桌面应用的,一直写不转型的话,MFC -> .Net -> WPF -> Qt 好象唯一可以走下去的一条路了。桌面的开发成本还是太高了,远不如用 Web 的那一堆框架+一条老狗带一堆新手组团,所以 CS 架构能往 BS 架构转的基本上都会往那边转。
    quicknight
        80
    quicknight  
       2018-01-16 10:23:33 +08:00
    WINDOWS 开发只靠 MSDN 即可,还是比较简单的,整个 Windows 开发技术体系近十年都没有太大变化,可以业余学点其它的,比如后台
    wshcdr
        81
    wshcdr  
       2018-01-16 12:33:16 +08:00
    win32 开发一直在没落了,主要开发人员的成本高,出东西还不如 web 开发的快
    zjsxwc
        82
    zjsxwc  
       2018-01-16 13:33:14 +08:00
    我刚毕业那会也是用.net wpf 做企业内部客户端,

    然后半年后跳去写 PHP 了,原因大概是因为给的钱多吧,如果现在.net 工资是我现在的 2 倍的话,我还是会回去写.net 的,汗。。
    jy02201949
        83
    jy02201949  
       2018-01-16 14:00:36 +08:00
    但是这么多年使用感受,BS 远不如 CS 稳定、好用、快速
    @shijingshijing #81
    shijingshijing
        84
    shijingshijing  
       2018-01-16 14:03:08 +08:00
    @jy02201949 很多用户的需求不高,能用就行了,再说 BS 的部署不要太方便。
    zicla
        85
    zicla  
       2018-01-16 14:14:51 +08:00
    建议还是早点儿转到 web 上吧,web 颇有一统天下的感觉。
    IllllI
        86
    IllllI  
       2018-01-16 14:46:34 +08:00
    我的回复莫名其妙被删了?
    doitbull
        87
    doitbull  
       2018-01-16 15:36:23 +08:00
    不要陷入到技术里,技术说到底就是业务的分支,做自己感兴趣的吧
    halFKing
        88
    halFKing  
       2018-01-16 16:26:59 +08:00
    @ibugeek 刚毕业 1 年多不用那么着急啊,工作经验的话,你可以先从自己用的服务端入手啊(别告诉我你们做的客户端是单机的……),一直用 Windows 平台的话可以优先考虑 .Net MVC (好吧,虽然 .Net 也是个坑),然后再看看前端也是其乐无穷,Web 这个生态很大,慢慢找自己的兴趣点吧
    bestkayle
        89
    bestkayle  
       2018-01-16 16:36:22 +08:00
    赶紧入 PHP 神教
    skylancer
        90
    skylancer  
       2018-01-16 16:49:50 +08:00
    每次做一部分 CTF 题,最后得到的结论就是技术是其次,思路才最重要
    macha
        91
    macha  
    OP
       2018-01-16 17:37:05 +08:00
    @IllllI 难道是我眼花手抖点到了删除上了?不好意思。
    v2byy
        92
    v2byy  
       2018-01-16 18:17:29 +08:00 via iPhone
    同样,掉在 windows 桌面开发这个坑还没出来
    spice630
        93
    spice630  
       2018-01-16 18:21:57 +08:00
    加薪,不然就跳槽。
    因为学一个偏门的东西,机会成本是要相对更高的。
    lulinux
        94
    lulinux  
       2018-01-17 06:48:33 +08:00 via Android
    windows 这块市场仍然是非常大的。而且都是小白用户,质量高着呢。
    arzterk
        95
    arzterk  
       2018-01-17 08:43:02 +08:00
    windows 下面神器 visual studio 配合 MSDN 使用,写 C++程序简直不要太爽;当然 MFC 是历史垃圾
    GEZOX
        96
    GEZOX  
       2018-01-17 11:47:28 +08:00
    同楼主,掉在 windows 桌面开发的这个坑不知怎么爬出去
    red
        97
    red  
       2018-11-24 12:16:44 +08:00
    楼主在看新的机会不?我们在武汉,需要 Windows 的同学,有兴趣的话可以回复我一下哈^_^
    red
        98
    red  
       2018-11-24 12:22:55 +08:00
    @HuHui Hi,我们在武汉招募 Windows 的研发同学,层主有兴趣聊一下不?
    chifandeyu
        99
    chifandeyu  
       2018-12-03 23:45:56 +08:00 via iPhone
    楼主跳出坑没,我现在还在 QT 做界面的坑里,,项目业务都转移到移动端了😳
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5305 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:25 · PVG 17:25 · LAX 02:25 · JFK 05:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.