螺栓。
尤其是图上这种内六角头螺栓。这大概是现在世界上使用频率最高的一种螺栓。
一颗M8(直径8毫米)的螺栓能承受1吨多的拉力。如果没有概念的话,请想象一下你用你的小拇指,拎起路边停着的出租车。
做这样一个螺栓需要多少步骤,
首先得弄一块圆柱形的铁,
先把这个圆柱形整成上段粗下段细的形状,
然后做出螺纹,
做出头部手拿的地方的防滑纹路,
再在头部打一个六角形的孔,
刻上字,
最后给它镀上一层锌,或者是四氧化三铁。
这个世界上每一个叫做M8x20的内六角头螺栓长得都是一个样子的,尺寸区别不会超过0.5毫米。
这样的螺栓,每个大概卖两毛钱。
珍爱生命,远离制造业…
--------------------------嗯--------------------------嗯--------------------------
还是补充一点东西好了,没兴趣的可以不用看下面这段文字。
评论区里有人说看不到技术含量。其实技术含量并不在于螺栓本身有多难造,我真正想说的是它“廉价”这个事。几乎所有的标准件都是这个德行,仔细一看其实形状结构还挺复杂的,但是为何便宜到令人发指,不知道有多少人想过这个问题。
以螺栓来说,比如我现在要设计一种特殊螺纹的螺栓,外径6.5,螺距0.3,螺纹牙形角60°就好,就做一个。能不能做?能。我甚至可以告诉你每一步怎么来,车床的转速和进给比例都能给你算好。不过要说单做这一个螺栓加工费多少钱,收你300rmb真不算贵吧。
但是标准螺栓平均到单个的造价接近于0,上文的两毛只是个泛指,正经的螺纹厂产量基本都按吨来算。标准螺栓且不说冲压工序,就单说螺纹加工,有人在评论区也提到了,用的是一种长得有些像两块搓衣板的特殊刀具搓出来的。我虽然不是刀具专业,也能想象得出这种刀具是费了多大工夫才被设计出来的。你可以说这算低端制造业,但是这种廉价并不是理所当然。尤其是标准件,每道工序都是经过几十年精简再精简,加工机改良再改良,成品才能便宜到现在这个程度。这个在我看来就是技术含量。
昨晚失眠时捞起手机随手写的原答案,其实只是想让非机械专业的人稍微了解一下这行其实并没有那么容易。觉得我写得粗浅的各位同行无视我就好了。
要不你还可以来打我啊。
微电子芯片
1.据说一些文科女生,提到芯片,想象出来的图景可能是这样的
恩,他们连芯片和电路板都没分清,说这东西好复杂。这复杂的是外部走线好吗?姑娘,黑色那块才是芯片
2. 而理工男提到芯片,想象出来的图景可能是这样的
他们大概了解CPU内部有复杂的线路,但也还是不知道这些原件到底是怎么样的
3. 而只有懂得微电子制造,天天用SEM扫描芯片的资深理工男,提到芯片,想到的是这样的图(网上随便借用的图)
这才是芯片内部真正的样子
-----------------
新闻:Intel 10nm Coffee Lake平台 2017年开始登场 (多位知友指出最后还是只能14nm,真遗憾)
什么是10nm?就是几十个原子(官方口径一般原子直径0.1-0.2nm)的距离。在一个厘米见方的地方,集成以nm为单位的数亿个晶体管,可以完成你能想到的几乎所有复杂运算。这一刻,从古至今的数学家 毕达哥拉斯、黎曼、欧拉、笛卡尔、高斯 等灵魂附体,从古至今的化学家 拉瓦锡、门捷列夫、卡文迪许 等灵魂附体,从古至今的物理学家 牛顿、爱因斯坦、狄拉克、普朗克、薛定谔等灵魂附体,当然,冯诺依曼和图灵等早就灵魂附体了。人类从古至今,千万代的更迭,付出了无数生命的代价,数以亿计的人思考了无数的时间,最终,所有智慧就结晶在这货上面了
然后。。。
居然只卖几百块人民币,你们还嫌贵
而街上小姑娘随便背的Prada包要两万一个
给你笔芯~
不卖萌,廉价但是技术含量很高的东西就是这种1、2块钱一支的笔芯!
圆珠笔笔头难造相信很多人都有听讲过了,17年年初还有中国自主研制圆珠笔笔头“笔尖钢”成功,有能力取代过去完全依赖于进口的新闻。
要造一支圆珠笔头,所需的加工工艺流程大概是这样的:盘圆线材-校直-切料-滚光-机加工-冲五星槽-清洗-放球珠-检测-收口-压珠-出料-成品检验。
对笔头进行加工的设备,是一种十分偏门的专用加工机床,主要来自于瑞士Mikron公司的24工位高精度加工机床。
除了加工工艺外对笔头材料性能要求最高,为了使笔头硬度高、书写顺畅、耐磨性及耐腐蚀性能优良,笔头原材料的机械物理性能及高速切削性能提出很高的要求:
在制笔行业,由于笔头用易切削材料制备工艺精度极高,导致大部分笔头用原材料不符合机械加工性能的要求。笔头关键部位的尺寸精度要求在两个微米,表面粗糙度要求0.4微米,在笔头最顶端的地方,厚度仅有0.3到0.4毫米。进行如此高精度的加工,既要容易切削,加工时还不能开裂。
(之前新闻报导说造出了笔尖钢,指的是造出参数指标符合要求的易切削不锈钢。报道的时候特意了解过,当时国内还没独立造出机床。)
但这种笔尖如果灌装普通墨水的话,很容易漏墨。
所以中性笔笔管里装的墨水,并不是液态的!
这个时候可能有朋友会说:不对,我们平时写字的时候,墨水就是液态的。
别急,请你看下去。
刚才那句话,更严谨的说法会是:中性笔的墨水,装在笔管里的时候,并不完全是液态的,而是呈凝胶状的。
跟钢笔墨水不同,它的流动性低,粘稠度大,性状有点接近于小朋友爱吃的那种啫喱(果冻)。所以在南方地区的人们,也常常会把中性笔称作啫喱笔。
这又与我们的常识相违背了。这样的墨水,怎样可以在书写的时候自如流注,满足我们正常书写的需求呢?
玄机就是我们接下来介绍的第二个技术含量高的东西了!
有些物体,受到外力的情况下,有可能从液体变成固态,或者从固态变成液体:
中性笔里的墨水,经过特殊的药品配比,也有类似的特性。
当它受到外力时会变稀。就像酸奶,或者火锅蘸的麻酱,小朋友吃的米糊一样,看似粘稠,但用力搅拌一段时间,也能发现它们逐渐变稀。
而中性笔墨水配方经过合理组合,这种受力变稀的效应更加明显。
灌装在笔芯内的时候,处于静止状态,黏度较高,相对不容易漏墨;书写时滚珠转动,相当于墨水被搅动,受到摩擦,黏度下降,墨液就能流畅下注,书写手感顺滑;在纸面留下印迹后,墨水回复到静止状态,黏度增加且溶剂挥发,迅速变干。
所以它才能以凝胶状停留在笔管中,不会流出来,写的时候呈水状却比钢笔墨水干得快。
❤~
春节好哇,老铁们!值得走一波点赞关注二连击吧!
2019.02.02
陶器
一次性打火机。
价格1-2元。批发2-5毛。
一次性打火机是一个小型的压力容器。内部装得是0.25Mpa左右的液体丁烷。
打火利用的是压电陶瓷 可以产生6000V左右的压差 输出几微安的电流。
防风的打火机外焰可以达到接近1300度左右的温度。类似的丁烷喷枪可以融化铜。
如果完全拆解一个一次性打火机(包括压电打火器) 大约有20个左右的零件。
涉及到注塑、冲压、折弯、弹簧成型、电镀、喷涂、超声波焊接、烧结、橡胶热成型、塑料拉伸、胶粘等十来个不同的工艺 涉及到几十种不同的设备。
而一次性打火机的设计也是非常可圈可点的。
使用简单。幼儿园的小朋友都能使用。
性能可靠。正常的使用情况下基本都能点着。
寿命够长。如果不是摔、晒、敲、洗,很少见到有人可以把一次性打火机的气用完。
输出可调。火焰长度可以从不到一公分延伸到十几公分……
从产品的角度来看这个设计几乎满足了所有需求。
它的设计需要考虑到液气相变、气体扩散、燃烧条件、火焰控制、打火强度等等等等一系列复杂的计算。
而它只卖一块钱。
如果只是说到这里,一次性打火机虽然已经体现出了非常强大的性价比,但是还不足以体现它的强势。
你们有在国外买过一次性打火机么?价格大约都在1美金上下。而在国内仅仅只需要六分之一到八分之一的价钱。
这是个什么概念?一次性打火机和其它东西不太类似,绝大部分国内特别便宜的产品都是因为国外需求不高,人力需求特别大,或者有“知识产权”的问题,例如老干妈、纺织品和“劳力士手表”、“巴宝莉围巾”等。而打火机绝对不是。全球烟民大把,谁不需要用打火机呢?
生产一次性打火机所需要的人力也并不是特别多。否则按照这两年的工价趋势和材料成本,打火机早就该涨价了。
那为什么它这么便宜……
因为这玩意的生产是有技术的。这个技术不是汽车工业的高自动化率和精密,也不是微电子行业的进一步集成,而是叫做“够用就好”。
不信的话,有一定生产制造经验和机械知识的朋友,麻烦您自己拆个打火机,列个简单的BOM,告诉我,即使以1元的成本,你能生产一个打火机么?
如果是有机械和生产采购知识的朋友应该已经知道我在说什么了。
没有的朋友,让我来简单解释一下。
你们心中的技术实力往往都是洁净的车间,全自动的设备,云山雾罩的CAD界面。所以你们大概会认为珠三角和长三角的小工厂们,都很low。
可是这个“够用就好”却是中国制造业崛起过程中非常非常重要的一个技术实力的体现。
比如一个塑料模具,一开一合生产出几个产品。产品可能区区几毛钱,但是这个模具要好几万。
珠三角的企业早年间都是依托日资、港资、台资的技术发家,技术很不错,他们的模具往往都是按照10w开合以上的寿命来制造,甚至可以做到100w次。当你有非常大量的订单的时候,或者你有非常高的利润的时候,这非常好。连续的生产可以有效的保证品质的稳定以及成本的低廉。
可是如果你只有5000个的订单的时候呢?你就发愁了。3w的模具成本摊到10w pcs的订单里面,每件仅仅只有0.3的成本。摊到5000 pcs里呢?6元。这远远超出了材料和人工成本,瞬间把产品的成本提升了十倍。
你们可能会问“为什么不做一个5000次左右寿命的模具呢?” 模具的寿命,如果按照课本上照本宣科的选材制造,寿命不会低于5w次的。那么怎么办呢?
长三角的师傅们和珠三角的不同,他们往往是从老上海一辈传下来的老企业,他们可能对于新技术、新材料的认知不足,但是他们对于传统的材料和结构则是有了很高的认识。把握住几个关键点,其余的地方用廉价的材料代替,“够用就好”,模具同样可以生产出能够使用,符合标准的产品。而这种模具让珠三角的师傅看到基本都认不出那是个模具。这就完美解决了只有5000pcs订单的问题。
回到一次性打火机上来。国产的一次性打火机的质量其实只能说是一般,相比国外标准的打火机,它没有厚实的外壳。但是它能用,够用。这就够了。它这个逆天的价格,来自于针对每一个零件的深刻理解,把能省的部分都省去了,却依然保证其功能性与可靠性。这样的经验不仅仅书上找不到,就算是行业内的人也不是一天两天能够理解的。
这就是中国制造业最强的技术,“够用就好”。而一次性打火机恰恰是这一个技术实力的最直接体现。它能打火3000次,能持续点燃2分钟,而最重要的是,它只要一块钱。
意大利的跑车闻名世界,技术水平毋庸置疑。但相比之下霸占世界的是造买菜车的大众丰田。大众的甲壳虫恰恰好就是最典型的“够用就好”的产品。
中国最出名的车是什么?五菱宏光。相比之下它没有BYD的电动技术,没有长城的大气外形,没有贾老板的霸气PPT,但是它毋庸置疑是中国普通家庭最适合的车,能买菜能拉货能载人,不容易坏,好修。
能够把产品的品质做到客户的预期以上一点,而价格降到客户的预期之下,还保证一定的利润,这绝对不是随随便便就能做到的。中国这些年来成为制造业大国,人们往往总是认为这没有技术含量,完全是依靠人力成本生吃劳动密集型产品市场,这是不妥的。在这个整合的过程当中,一部分有实力的企业通过自身的努力,通过这种“够用就好”的经验累积,将产品的成本降到了一定水平以下,成功实现了推广与普及,这绝对是有着极高技术含量的。成为世界工厂不是什么坏事,美国也是在仿制与大规模生产中逐渐占据了世界的话语权,从而支持它打赢了二战,在近百年来的历史舞台上屹立不倒。
中国的企业若都能把一次性打火机这样的产品做好,那该多好啊。
———————————————————————————————————————————
小透明竟然拿了11K+赞我受宠若惊。
说实话我也没想清楚为啥就火了……
不过看到好像有一位老前辈对我的答案不满。
有什么廉价但是技术含量很高的东西? - yolfilm 的回答 - 知乎首先一次性打火机确实不是那么复杂。毕竟打火机是个比火柴发明的还早的玩意。压电陶瓷也不是什么复杂的玩意 居里夫人的老公上上个世纪就发现了压电效应。丁烷气罐作为燃料也由来已久。
这不是个高大上的玩意。
使用不当它也容易坏。不少评论里说摔一下啊 点的久了啊 或者是放在车里太阳晒啊 有一定危险性。这一点儿都没错。过于廉价的一次性火机确实容易坏。
但是我们这儿说的是为什么它只要一块钱 以及为什么一块钱的它代表了一定的工业水平。
确实。大陆的工业发展比较晚 相比海峡对岸的台湾来说 很多方面都迟了10几年。港资、台资企业刚刚来到大陆的时候带来了许多大陆人民没见过没听过的东西 无论是工艺、材料还是管理方式都显得特别高大上。
这是事实。那个时代里我作为一个厦门的小朋友看着高大上的台湾朋友吃穿用住都很高端。
年纪大一点的朋友可能还记得80年代大家的家用物品里面 金属制品为主——脸盆水杯是搪瓷的 笔筒笔盒是铁的木的 晾衣架、晾衣杆都是铁的 台灯接线盒桌子凳子都是金属和木质的 家里的储物盒是金属的饼干盒 尺子是木头的或者铁的 剪刀小刀都是铁的。 甚至于有些老的家电 收音机、电视机还是木壳或者铁壳的。
这是为什么呢?
嗯……比较惭愧 那时候我们国家的注塑工业很弱。笔杆是胶木(电木)的 那是因为它不是注塑的 是类似于烧结成型的。80年代末90年代初 注塑工厂绝大部分都是台资日资港资。国产的塑胶制品很少。我身边的一位老师傅 现在年近50 在90年代初一个月多的时候可以挣20000多元人民币 更不要说香港和台湾的工程师了。比较年轻的朋友可能不知道 那个时候内地一个大学生一个月的工资才30-40多块。发展比较好的沿海地区的工人也只有200-300块钱一个月。
可想而知那时候我国的工业基础有多差,那时候台资厂日资厂还有香港厂的外派管理人员有多牛。
大概就跟现在月入几十万差不多吧。
注塑模具行业其实门道比较多。新技术也一直在发展。有很多类似于玄学的问题到今天已经基本揭开了谜底。但是直到十一二年前 一个做注塑模具的熟练师傅一个月也要开到1w多2w左右的工资。时至今日 一个比较熟练的模具工程师月薪过万已经比较难得 此消彼长 大家心里估计有数。
今天的塑胶行业里中国可能不是最顶尖的 还有不少新技术有待学习和开发 但是产量估计是最大的了……绝大部分的塑胶模具都在大陆生产 无论是家电日用品工业产品汽车零配件甚至军工产品等等等等 国内均拥有了相应的人才和设备制造能力来应对。国内企业在多年的代工中通过客户、供应商、院校等等渠道也逐渐掌握了独立研发的实力。现在要做一个塑胶零件 基本不太需要再去寻找当初的台湾、香港师傅了 台资和港资厂在塑胶这个行业里渐渐的消失了。
当然很多人可能认为“这不过是捡了人家做烂了不要的行业喝喝汤 肉早就被吃完了”。这话也没什么大错 不过在这些年的发展过程中 塑料制品随着整个行业的成长 价格也早已经地板价了。年纪稍微长一点的朋友可能还记得 当年的地摊塑料制品有多烂 两元店到处充斥着回收料、废料再加工而成的软趴趴 四周都是飞边/披锋的塑料制品。而现在十元店已经开到了商场里 虽然说似乎有不小的知识产权问题(笑) 但现在x创x品的塑胶制品质量大家完全可以去比一比 是不是比x印x品的东西已经没差多少了(23333你们可以想想当初给x印x品多挣了多少钱)。这可是切切实实的提高了人民群众的生活水平。
一次性打火机不过是这个发展的滚滚洪流中一个不那么起眼的小石子 类似的还有很多 有机会还可以进一步跟大家讲讲。
我这个小透明也不过是把它拎出来稍稍展示一番 不想引起了老前辈的意见 实在不好意思。
还是要再次感谢大家对我的支持。
————————————————————————————
一点不得不说的话:
说实话当初写这个答案是因为我一直喜欢跟身边的供应商以及制造业同行聊这个打火机的事情。我自己曾经分拆过打火机并且一个一个部件的估价 发觉按照自己常规的习惯来报价的话这个东西的BOM(Bill of Materials,物料表)成本可能都要两三块钱 才惊觉长三角成本控制的实力。身边珠三角的制造业老板们也纷纷表示自己确实没有办法在这个成本下做出来。
我自己其实不太清楚为什么突然之间这个答案就火了 我确实挺开心的 谢谢大家的点赞。
当然也有一些质疑的声音。讲真上面的那段针对yolfilm的回复不算平和 话里带刺是肯定的 扪心自问自己也不是一个那么平心静气的人 见到赤裸裸的攻击有些反应。写完之后其实还有那么点小忐忑 想说会不会太过有攻击性。转头看到yolfilm的答案已经被删 我其实也准备把带刺的部分去了。
结果今天起床看到不那么令人愉快的结果。人家终归还是怼回来了。冤冤相报何时了。算了我道歉 游先生对不起 我并不是执意攻击 。
@yolfilm我并不是针对您 不过您会不会确实用语粗暴了一些 我把带刺的部分去掉 麻烦您也不要用粗俗的语言攻击我可好?
身为一个小透明其实平时并没有发声的机会 不过我一直认为在专业性比较强的问题下最好还是尊重术业有专攻的道理。我也曾经在网上对自己不熟悉的领域发表一些不成熟的臆测 从而闹了一些笑话。
既然受到大家的支持 我就索性多写一点东西吧。
比如压电效应和压电陶瓷。游先生您说的方糖夹碎发光确有其事 并且在16世纪就有文献记载。这一类断裂发光的现象很早就被人们发现 因为人们往往在很强的地震中观察到强烈的光。这是因为非对称晶体在断裂的时候正负电荷不均匀而导致的放电所引起的弧光 网上也有照片可寻(方糖被子弹击中的瞬间)。这种现象在方糖、石英晶体、金属、硅玻璃、碱金属卤化物中都能够被观察到。事实上拿两块鹅卵石互相敲击发出火花 甚至于古人使用的燧石都是基于这个原理。
不过这个并不是压电效应啊……我们总不能说击石取火的古人早就发现了压电效应吧……压电效应指的是
“当对压电材料施以物理压力时,材料体内之
电偶极矩会因压缩而变短,此时压电材料为抵抗这变化会在材料相对的表面上产生等量正负电荷,以保持原状。这种由于
形变而产生
电极化的现象称为“正压电效应”。正压电效应实质上是机械能转化为电能的过程。”(摘自中文维基压电效应词条)
方糖并不会在应力下产生电压。如果说要举一个比较恰当地例子可能应该举石英。毕竟日常生活中非常常见的石英表就是利用了石英的压电效应而制成。现代数字电路中无法离开的晶振也是利用了压电效应而制成的重要电子元器件而实现。这么说感觉很枯燥 可以举个例子 ……我们讨论的CPU的最重要的参数之一 ——CPU主频 一般是x.xGhz 换算成xx00Mhz 而其来源则是来自于一颗25Mhz的晶振的倍频……
是的你没听错 一次性打火机里那个按一下就能电你一下的小玩意就是这么巧妙地和另外一个答案中人类智慧的结晶 CPU 通过压电效应连接在了一起……
当然了他们的材料不太一样。晶振里的压电材料多数还是石英 打火机里电人的那个小玩意是PZT陶瓷 全球出货量最大的压电材料。日常生活中你可能不太清楚哪里用上了这玩意 不过它是你的倒车雷达、手机扬声器、加湿器等等生活用品中的核心元件……声呐、B超、管道探伤、超声波焊接等等军用、医疗、工业场景里PZT陶瓷也是不可或缺的一部分。
一次性打火机固然挺low的 不过里面的这个压电小玩意真的不low……它真的用处很多……而我们国家目前已经基本占领了PZT陶瓷的低端市场 高端市场基本被日本占据 国内的高端产品主要供给军工企业。 目前部分规模较大的企业已经携手与院校展开合作 开始制造高端的PZT陶瓷 相信很快高端产品的价格也会不再那么高高在上啦。
我。
强答一个。
老爸当过兵,上过老山前线。当年部队从山东上火车出发往云南走,在山东上火车的时候,站台上放着《十五的月亮》,部队的亲属们都在火车站送行,虽然有些悲壮,但是几乎没人哭。火车到了云南境内,靠站歇停,这下可倒好,不知从哪来了一群又一群的云南当地的老百姓,老太太老大爷大哥大姐小弟小妹小朋友,根本没人组织,也没人安排,就是挤到铁道边拉着车上素不相识的解放军的手往他们手里塞酒碗,塞鸡蛋,塞吃的,操着一口完全听不懂的方言说着什么。一车的小伙子哭的泪人一样。
偷手机,转走一万多,这是两个事。手机好点就能判刑了,一万多绝对能判了。
可能你对不接受赔偿与赔偿金额太低的区别有误解。
你认为的赔偿可能是:我把钱还你,再给你三十,你觉得怎么样?
人家的赔偿是在想你要判刑的话你得损失多少?包括直接的经济损失与自己因为犯罪而导致今后的生活中其他的间接损失。
把这个转化成经济利益,再以这个标准的金额作为依据,酌情上下浮动的赔偿才叫赔偿。
这部分你自己衡量,毕竟对有些人隔三差五进看守所的反正是一文不值,对于有些人可能几十上百万都不止,因人而异。
对方目前损失一万块加一个手机,这一部分法院会最终予以追缴,大概率会成功追回,即便是最终追不回,金额相对也不大。
而对方的潜在收益明显要高于风险,一个人假如被判刑,以一般人的经济利益去衡量一年十万应该算是很低了。单就失去自由与用坐牢的时间去工作所获得收入来说就差不持平了,更别说犯罪记录带来的社会性成本。纵然打个对折,赔个五万也远高于风险。
所以目前对方的最大风险是大概率啥损失也没有,小概率损失一万多块钱。而收益是有极大概率获得至少五倍于风险的收益。
不赔钱就坐牢!
----鲁迅
泻药。
回答的有点晚了。楼主问题本身其实不是特别准确。准确滴说,是男同社交软件Blued在2月份宣布完成新一轮数千万元人民币融资,投资方为山水从容传媒投资有限公司。山水从容传媒投资有限公司成立于2015年12月,其参股方中,有目前中国最有影响力的主流媒体之一新京报(也就是宝宝我...的东家)。
至于为什么投钱,山水从容的负责人说,他们看好Blued在垂直社交领域的领先优势和国际化发展势头,直播、电商、网游、大健康,以及娱乐内容方向的布局将会有新的爆发和增长,垂直社交将成为下一个风口。同时,Blued对于帮助男同人群提高生活质量,助推防艾滋公益起到了积极的作用。
说白了就是觉得这个公司很有独角兽特质,未来会很牛×。
艾瑞咨询、猎豹移动等第三方数据显示,Blued在男同社交领域市场占有率已超过九成。同时,耿乐透露,2016年Blued直播和移动营销营收数亿,公司国内业务已实现赢利。2017年,直播营收还将持续增长,此外,会员增值服务、游戏、大健康等业务版块,将为公司带来新的收入增长。
去年4月份开始,Blued也全面进入海外市场。在泰国、越南和英国分别建立了办公室,推出了包含13种语言的国际版本,在秉持产品本地化、市场本地化和团队本地化的原则下,以社交和直播切入,快速抢占了泰国、越南、马来西亚、菲律宾、新加坡、印尼等东南亚地区的市场领先地位。11月,设立在英国的欧洲办公室也已全面启动产品优化和市场推广,并已成功签约了Gay Games Paris 2018,成为第十届世界同性恋运动会的主赞助商。
去年底,Blued还宣布投资了美国同性恋社交应用Hornet,通过资本进驻方式,获取拉美和北美地区的市场份额。
就酱。
更多精彩内容请关注新京报官方微信号(微信ID:bjnews_xjb)
未经授权不得转载
很少有人不基于框架直接写GUI界面啦,我这个回答就从GUI框架反过来推什么语言做GUI合适。(只聊桌面端GUI编程框架)
几乎是C++领域最流行的跨平台桌面端软件开发框架了,这个框架是两个挪威人在1995年创建的,发展至今可以说历史相当悠久,稳定性也很有保障。很多大公司都在用它做界面比如金山的WPS。
它内置了自绘引擎,也就是说界面上的一个按钮,一个文本框,都是Qt的引擎自己画的,这保证了基于Qt开发的软件界面在不同操作系统上看起来是一模一样的。
它提供了大量的与界面无关但与软件开发息息相关的API,比如、网络、文件系统、剪切板等,而且让这些API在不同的操作系统下都有效,这极大的节省了开发人员的时间。
但它也有一些缺点,比如在处理一些特殊需求上很不方便,比如:目前Qt有没有比较好解决高分屏下缩放显示的方案?,Qt没有真正完美的无边框解决方案吗?等,在一些组件的渲染上也会出一些隐藏的较深的问题(QListItem),一旦遇到,就很难解决。
Qt近年来不太专一,qml,qtquick等,搞了很多,而且这些新玩意儿一直不温不火,有些模块做了又废弃了,比如:qt script,搞来搞去,搞的模块繁多且复杂,用起来不是很舒服。
Qt有界面描述语言(XML描述界面),可以通过设计器拖拽空间设计界面,编译期界面描述语言被转义成C++代码,性能上没啥损失。
Qt商业授权不太友好,开发商业应用一定要谨慎,之前听说有公司为此付出了高额的版权费。个人开发者可以免费使用。Qt的免费版本不允许静态链接,会有版权上的限制,但开发者还是可以通过一些特殊的编译方法静态连接Qt的库的。
除了使用C++开发Qt应用外,开发者还可以使用其他语言开发Qt应用,最流行的就是使用Python基于PyQt做Qt应用了,其他语言的绑定不是很成熟,但PyQt仍然有版权的问题。
GTK是1997年创建的,也非常成熟稳定,是C语言开发的,但有很多语言的绑定,比如官方支持的JavaScript、Rust等,当然用C++语言操作GTK也很方便,它也有自绘引擎(Cairo),也提供了大量系统相关的API,商业授权也非常友好,基于GTK开发商业软件不用担心收到律师函的问题,虽然它是一个跨平台桌面软件,但它似乎只在Linux操作系统领域流行,有非常多的Linux桌面软件都是基于GTK开发的。
这也直接导致GTK的维护者很重视Linux领域的发展,而忽视Windows和Mac领域。这个框架提供的很多API,只在Linux下有,Windows和Mac下没有。这样的API数量众多。甚至在Windows下编译一下GTK的源码都要比Linux下难很多。而且GTK的渲染引擎在Windows下性能表现也不如在Linux下好。
GTK在Windows上也没办法静态连接,它到不是因为版权的问题,而是它依赖MSYS2的一些库,这个库用于在Windows上模拟Linux环境,这也是为什么GTK在Windows上表现不佳的原因之一。
另外,由于GTK是C语言开发的,所以开发风格也很C语言化,这对于部分开发者来说可能觉得繁琐。
wxWidgets是1992年英国的一个大学教授开创的跨平台GUI软件,也非常成熟稳定,商业授权非常友好。它没有自绘引擎,而是对不同平台下的界面API做了整合和封装,这样开发者在Windows下开发的软件看起来就是Windows窗口风格、Linux开发的软件看起来就是Linux窗口风格,这对于某些软件来说,正是他们想要的,但要想搞一些花哨的特效就没那么容易了。它同样也提供了大量的系统相关的API供开发者使用。
它是C++开发的,所以对C++开发者非常友好,除此之外它还支持静态连接,也就是说开发个应用不用分发给用户一大堆dll,当然Qt也支持静态连接,但是你得自己编译Qt的源码(不是很方便),而且Qt的授权规则也不允许普通开发者这么做。
它会有些小问题,比如我之前提的:wxEVT_NOTIFICATION_MESSAGE_DISMISSED event emit twice,但总体来说还是非常稳的。除了开发的界面比较死板外,没啥大的问题。目前使用这个框架开发软件的人越来越少了。
fltk是1998年创建的跨平台开源GUI框架,历史悠久,商业授权友好,而且C++之父也用它,它非常轻量级,支持静态连接,一个简单的应用编译后只有500K左右,非常赞,
它有自己的自绘引擎,没记错的话用的是OpenGL,但它的重绘机制是按区域重绘的,如果组件A所在的区域上存在组件B,那么A组件重绘时,会把B组件的给重回掉,开发者必须自己写代码处理这种情况。想象一下,如果你想实现一个A组件fade out的同时B组件fade in的效果,就会非常麻烦。
FLTK提供的一些组件样式都比较刻板,绘图API也比较少,你想实现一个漂亮一点的圆角按钮(它内置圆角按钮的圆角大小是不能改的),必须自己画,而且还得借助一些非常奇葩的手段才行(如果你想知道,可以联系我)
它是C++开发的,但API不够现代,用起来总体还算舒服的,它有Rust绑定:fltk-rs。它的用户比前面三个都少。它提供了一些与界面无关的操作系统API,但非常少,几乎可以忽略。
Duilib
是2010年国内一个开发者开发的GUI开发框架,因为底层基于DirectUI开发,所以只支持Windows平台,不支持跨平台,开源协议友好,商用没有任何问题(需要附加Lincence文件),国内有很多大厂基于这个技术做桌面端应用,比如网易、腾讯、百度,这个框架是基于C++开发的,对C++开发者友好。但框架本身还有一些问题,比如对高分屏支持不佳、特殊控件绘制上也有一些小问题,除了界面相关的API外,几乎没有提供系统级的API,作者纯粹是用爱发电来开发这个框架,所以更新不是很及时。
相对来说网易基于Duilib开发的分支更完善一些:NIM_Duilib_Framework,添加了高分屏支持、多国语言、整合了多线程处理的支持,但环境搭建相对比较麻烦。如果开发者要用这个框架,一定要用develop分支下的代码,master分支下的代码问题很多,这个框架看上去也是作者一个人努力的成果。
Sciter是2006年创建的跨平台闭源GUI框架,足够稳定,商业授权不友好,但个人开发者可以随便用(只能用动态链接库),一旦公司规模超过3人,就得买版权了(有权静态连接)。
它内部封了一个浏览器核心,让开发者使用HTML,CSS,JS来创建界面,但对这个浏览器核心做了大量的精简,不像Electron和NW.js动辄上百兆的体积,它只要6M就够了。当然这也意味着有些浏览器特性它是不支持的,比如CSS3的flex布局,它就不支持(但它提供了自己的flex布局实现方式)。以前它使用自研的一个脚本语言(和JavaScript很像),自从集成了Fabrice Bellard大神的QuickJs之后,就全面支持JavaScript了。它还对一些特殊的场景做了内置的支持,比如渲染大列表。
它使用C++开发,对C++开发者很友好,有Rust、go、Python等语言的绑定,但都是社区提供的,质量堪忧。有很多知名厂商都用这个库做界面,比如360、teamviewer、赛门铁克等。
RmlUi和Sciter很像,可以看成Sciter的替代框架,但RmlUi这个项目有三界作者,一个一个的弃坑不知道新任作者会不会弃坑,目前还不是很成熟,比如我正在尝试帮作者解决的CJK输入法的问题,目前还不推荐大家使用这个框架。
CEF是2008年创立的,基于Chromium的跨平台GUI框架,稳定且商业授权友好,国内很多大厂都用的CEF:比如微信桌面端、网易云音乐桌面端、QQ桌面端、微信桌面端、MATLAB、FoxMail、OBS Studio,装机量破亿。
由于它几乎封了一个完整的Chromium,所以体积非常大,但支持所有的HTMLCSSJS特性,它几乎不提供任何与操作系统相关的API,创建个托盘图标、读写个文件啥的,都要开发者自己完成,它是C/C++开发完成的,对C++用户非常友好,它有gopythonjava等语言的绑定,但都是社区提供的,质量值得担忧。
它对Chromium封装的很好,避免了开发者直接与Blink、V8、Chromium等复杂的代码打交道,很多功能都有默认实现方式,遵从约定由于配置原则,有经验的C++开发者可以很轻松的驾驭CEF框架。
由于Chromium是版本弟,所以CEF版本发布也非常频繁,很多被标记为稳定的版本,还是会出一些莫名其妙的问题,选一个好的版本非常重要。
与Electron一样,它也是分主进程和渲染进程的,所以开发者要非常娴熟的运用跨进程通信的技术,虽然CEF提供了跨进程相关的API,但复杂度还是有点高的,使用的时候要认真细心。
这是微软的跨平台GUI框架,不仅仅支持桌面端,还支持移动端,但官方并不支持Linux的桌面端(黑人问号,感觉与微软近些年向开放、开源的大方针相悖),这个框架新的狠,至今还没发布稳定版。目前还没什么人用。而且不知道将来会不会被微软放弃。
它是.NET平台下的GUI框架,有自绘引擎,对C#开发者很友好,界面依然是用XAML描述的,可能很多人一听到XAML就直接弃坑了。XAML表现力确实弱一些,我觉得WPF没火起来跟XAML有直接关系。
使用这个框架开发桌面应用得封一个.NET框架给用户,当然有了.NET框架应用程序访问一般的系统级API也就不成问题了。
这是JetBrains搞的跨平台GUI框架,也非常新,前段时间刚刚推出1.0.0版本,但这个版本还不是很稳,至少比Flutter Desktop的第一个稳定版要差很多。同样也几乎没什么人用。
它的自绘引擎用的是Google的skia,这个自绘引擎稳的很,Chrome和Flutter都是用的它,所以排版、绘制、渲染之类的工作不太会出问题。比Java生态圈里的Swing和JavaFx要好很多。
JetBrains的东西当然对Kotlin开发者友好啦,Java生态下的很多东西你都能用,访问系统级API也没啥大问题,同样也得考虑封一个JRE给用户。
这是谷歌的跨平台开发框架,开源、免费、文档齐全、投入力度大且持久,同样也新的很,Windows版本刚刚发稳定版,Mac版本还没稳定。
如果你完全没搞过移动端的flutter,想用这个框架开发桌面应用,那么意味着你要学的东西还挺多的。好在dart和flutter入门都不是很难,学习曲线比较平缓。
由于flutter在移动端积累了很多年,所以界面上的一些东西在desktop端都比较稳(skia自绘引擎),与操作系统相关的东西还不成熟,生态也不太好,比如你想订制一下窗口的标题栏,想访问一下注册表这类工作可能得自己想办法。不过它有类似FFI的支持,跟C/C++语言打交道很方便。
开发者直接使用Dart语言描述界面,这会导致众多大括号嵌套在一起的问题,可能很多开发者不习惯。
这是微软Edge浏览器团队推出的跨平台GUI引擎,是闭源的,目前只支持Windows,对C#和C++开发者友好,如果使用C#开发,就得考虑把.NET运行时分发给用户,如果使用C++开发,就得自己处理系统级API的操作,webview2本身是不对系统级API做封装的。
这个框架推出也没多久,很多API也还不稳定,更值得担忧的是这个团队,他们前不久刚刚放弃了自己的浏览器核心转而使用Chromium浏览器核心,不知道他们会不会放弃webview2这个框架。
它的优势是可以复用系统当中已存在的webview2二进制资源,也就是说它虽然封了一个Chromium浏览器核心,但如果你可以确定客户电脑已经存在了基于webview2开发的应用,你的安装包体积可以足够小。
它也是多进程架构,甚至比Electron还要多一个进程(为了复用二进制资源),资源占用比较多。
这个库使用操作系统的浏览器引擎来达到减小安装包体积的问题,Mac上使用Cocoa/WebKit,Linux上使用gtk-webkit2,Windows 10上使用Edge(也就是上一个小节里提到的webview2),它应该是不支持Win7的。开发者要考虑前端代码浏览器兼容的问题。
开源且免费(MIT)有go、Rust、Python等语言的绑定,不过官方支持的是go语言,C和C++,操作浏览器的API非常少,不支持自定义scheme,更别提系统级API了。
采用的技术方案与webview类似,所以安装包也足够小,非常新,还没发布稳定版,开源免费。webview框架碰到的问题TAURI都有,
使用Rust开发,将来会支持Deno,作者说将来会直接使用webview的技术来支持多平台,
NW.js最早把Chromium和Node绑定到一起,用前端知识做界面,用Node技术访问操作系统,最早叫node-webkit,在2012年创建。NW.js基于MIT开源,可以无忧使用。没记错的话,微信小程序开发工具是用NW.js开发的。作者是英特尔的员工,英特尔的一些工具也是用NW.js开发的。
除了Chromium和Node的能力外,NW.js自己也封装了一些系统级API,类似托盘图标、剪切板、系统菜单这种,但数量明显比Electron要少。
NW.js可以在多个窗口间共享同一个Node.js上下文,而且还可以通过配置让Node的上下文和Dom上下文混合,这给开发者带来了很多便利。心智负担减少很多。不像Electron要时刻想着进程间通信,哪些模块当前进程不能用这类问题。
NW.js虽然起步早,但奈何没有杀手级应用,周边的生态和工具链没发展起来。用的人越来越少,维护的投入也不如Electron大,再加上Chromium更新非常频繁,导致NW.js的有些API也不是很稳,恶性循环加剧。
Electron的作者曾经在NW.js团队工作过(NW.js项目贡献第二多的人就是Electron的作者),后来辗转到了github公司,于2013年在创建了Electron,也是个开源免费的产品。由于VSCode、slak等国际型产品都选择了Electron,所以从者甚众,生态和周边工具链也完善的多。虽然开发方式上有点蹩脚的地方(多进程架构及模块归属进程),但瑕不掩瑜。
Electron每创建一个窗口都会多一个进程,这使Electron创建窗口的效率不高(秒级),NW.js有复用进程的机制,即使新窗口加载完全不同域的页面也不会创建新的进程(毫秒级)。这也是为什么很多基于Electron开发的应用都使用Dom模拟弹窗的原因。
无论是浏览器相关的API,还是系统级API,Electron提供的都比NW.js多。
--------2022-02-25更新--------
这些框架除了对开发者使用的编程语言有要求外,还有一个重要的差异就是有没有独立的界面描述语言(也就是UI DSL),这非常重要,涉及到一个框架表达业务的重要能力。
类似XAML、qt的ui文件、HTML+CSS都是界面描述语言,下面这种也可以算界面描述语言,但我感觉它不够纯粹(flutter、qml和Compose Multiplatform都是类似这样的):
panel { row { checkBox(...) row { textField(...) // indented relatively to the checkbox above } } }
但无论如何,显而易见的是,没有任何一个界面描述语言能比的上HTML+CSS组合。想想看:HTML里各种花里胡哨的语义化标签和Dom操作技巧,CSS里的布局方式、伪元素、动画描述...,对比之下你就会觉得XAML、qml直流都是弟弟。
除此之外,一个优秀的GUI框架还有两个重要的需求,这里我简单聊聊:
强大的事件处理机制必不可少。
想想这些:鼠标事件、键盘事件、触屏事件...界面加载完成、媒体播放结束、元素大小改变...网络状态变更、数据段传输完成...另外,还得处理事件冒泡、事件捕获、事件分发吧...
qt的开发者曾经说过qt的SIGNAL和SLOT机制是有性能问题的(但影响很小)
强大的异步处理机制必不可少
你不能在用户处理业务逻辑的时候,让界面渲染工作阻塞,这就需要一个强大的异步处理机制,让开发者自己去开线程去完成业务处理,无疑是又麻烦又会增加开发者的心智负担。
我记得很早之前在C# WinForm应用中,点击一个按钮,如果不用Invoke执行逻辑处理的话,界面就会卡死。
这么看来,在你的GUI应用里包一个浏览器核心还是挺有必要的,这样你就可以用HTML+CSS强大的能力来描述你的界面,用JavaScript强大的事件处理机制和异步处理机制来完成用户交互。
可能有人会想,这会带来很多问题呀,比如应用体积会增大的100M以上、会占用更多的CPU和内存资源,还会更耗电等等。
确实,目前来看这些都是问题,但仔细想想,这些问题应该不会持续太久,网络会变的更快,用户的磁盘和内存会变得更大,CPU处理能力也会更好,耗电的问题当然会持续存在,甚至会愈发耗电,但电的供应会持续增长呀。
web相关的技术之所以胜出,并不是这些技术的设计者有多厉害,而是这20多年间,有大量的人涌入了这个领域,前赴后继的推动着它前进。其他任何一个领域都没有这么热火朝天的景象。推荐大家看看我的另一个回答:
------------2022-02-27更新----------
用Web相关的技术做GUI应用的优势是,让开发者可以把大部分精力投注在业务本身上,而不是处理与GUI相关的技术细节。
实际上所有的框架,都应该是这个目的,比如ORM框架,目的应该是让开发者把大部分精力投注在业务与数据之间的关系上,而不是管理关系型数据的技术细节。
当然这肯定是有损耗的,在性能、稳定性、资源消耗上,都会有所削减。而且,因为有框架的存在,开发者很难深入到框架内部做一些特殊的事情。比如,我们该如何修改HTML的排版渲染机制呢?
所以,有些框架注重性能,有些框架注重开发效率,开发者做选择题的时候也应该衡量这两个问题,你的应用对哪些方面要求多一些呢?
你如果要开发一个视频监控系统,没多少业务功能,但要24小时不间断的记录视频数据,随时调取某一段时间的视频数据,这种应用可能Qt是最好的选择。
你如果要开发一个类似飞书的团队协作应用,业务逻辑复杂的一塌糊涂,而且要在短时间内满足更多用户的需求,占领更多的市场,那么Electron可能是更好的选择(目前飞书已经不再用Electron了,他们自己编译了Chromium核心,自己封了一个类似CEF的框架)
目前微软、谷歌、JetBrains等公司都非常重视桌面端开发框架,也在推各自的框架产品,说明桌面应用领域并没有没落,反而应该更加受到重视。
虽然移动端应用大行其道,但我认为,只有生活、社交、轻娱乐等方向上的应用在移动端有较好的发展。文档协作、大型游戏、开发工具、专业管控软件等应用还是在PC端发展的更好一些,毕竟PC端有更多样的输入输出设备、更广阔的显示和交互的空间,更强的存储和计算能力。
希望桌面软件开发领域的从业者都能获得幸福。
满屏荒唐言,一把辛酸泪,一把辛酸泪,一把辛酸泪...