蝶窦囊肿是什么病| 乳腺应该挂什么科| 发票抬头是什么| 肛门痒擦什么药| 李维斯属于什么档次| 食色性也是什么意思| 嘴干是什么病的征兆| 拉肚子发热是什么情况| 女人味是什么| 疏肝理气喝什么茶| 牙周病是什么| 腰间盘突出吃什么| 什么是离子| 血压什么时候最高| 小狗拉肚子吃什么药| 专情是什么意思| 喝什么茶最养胃| 儿童语言迟缓挂什么科| 头眩晕是什么原因引起的| 27岁属相是什么生肖| 脚底抽筋是什么原因引起的| 太安鱼是什么鱼| 避孕套是什么材质| 类风湿不能吃什么食物| 二甲双胍缓释片什么时候吃最好| b超能检查出什么| 有料是什么意思| 什么茶降火| 险象环生是什么意思| joyroom是什么牌子| 金榜题名是什么生肖| hi是什么酸| 念珠菌和霉菌有什么区别| 系带是什么| 橄榄油的好处和坏处是什么| 梦见一条小蛇是什么意思| 养肝要吃什么| 舌头发白是什么情况| 菲律宾货币叫什么| 985和211是什么意思| 外援是什么意思| 妊娠阴性是什么意思| 食言是什么意思| 5.4是什么星座| 清补凉是什么| 什么叫化学| 梦见自己穿新衣服是什么意思| 十一月二十六是什么星座| 双侧甲状腺弥漫病变是什么意思| 中性粒细胞比率偏低是什么意思| 孕妇做唐筛是检查什么| 跟泰迪很像的狗叫什么| 平妻是什么意思| 燊念什么| 东方明珠什么时候亮灯| 调经吃什么药效果最好| 手掌心发红是什么原因| 哺乳期什么东西不能吃| 枸杞泡酒有什么作用和功效| 一个口一个有念什么| 股骨头疼痛吃什么药| 操逼是什么感觉| 人体是由什么组成的| 内伤是什么意思| 营养不良吃什么| congee是什么意思| 什么东西驱蛇效果最好| 桃子不能和什么一起吃| mds医学上是什么意思| 小老弟是什么意思| 什么是酮体| 什么样的人爱长结节| 晚上脚抽筋是什么原因| 眼发花是什么病的征兆| evol是什么意思| 乙酰磺胺酸钾是什么| 怜悯之心是什么意思| 手心脱皮是什么原因| 骨折一个月能恢复到什么程度| 阴道出血吃什么药| 什么是乳胶床垫| 12月13日是什么纪念日| 为什么怀孕了还会来月经| 中国的母亲河是什么河| 什么食物含蛋白质高| 查体是什么意思| 血压高压高低压正常是什么原因| 笔触是什么意思| 核准是什么意思| 梦见买手表是什么预兆| lee是什么牌子中文名| 什么是负数| 梦见妹妹是什么意思| 什么是七情六欲| 牙银肿痛吃什么药| 鸽子咕咕叫是什么意思| 小暑吃什么| 喝茶对身体有什么好处| 可可和咖啡有什么区别| 为什么合欢树又叫鬼树| 嗜酸性粒细胞偏高是什么意思| 副营长是什么军衔| 炒菜什么时候放调料| 点痣挂什么科| 舌苔白吃什么药| 核桃和什么一起打豆浆| 中国的国花是什么花| 没有润滑油用什么代替| 书店买不到的书是什么书| 霉菌性阴道炎用什么药效果好| 尿毒症前兆是什么症状表现| 养猫需要准备什么东西| 生蚝有什么营养价值| 阴囊瘙痒用什么药膏| 什么叫点映| 大龄补贴需要什么条件| 眼白发黄是什么原因| 金鱼吊兰什么时候开花| 五行属火适合什么行业| 空谷幽兰下一句是什么| 计数单位是什么意思| ca153是什么检查项目| 什么鞋油好用| 美版苹果和国行有什么区别| 舒化奶适合什么人喝| 查乳腺挂什么科| 天天喝绿茶有什么好处和坏处| 血糖高应该吃什么水果| 今天会开什么生肖| 甲沟炎是什么引起的| 一个至一个秦是什么字| 口腔溃疡是什么原因造成的| 拉肚子吃什么消炎药好| 芳菲是什么意思| 阳虚吃什么调理| 山竹有什么好处| 逸夫是什么意思| 卫冕冠军是什么意思| 记仇的人是什么性格| 荷花五行属什么| 地方是什么意思| 什么导航好用又准确| 人为什么会中暑| 阳痿挂什么科| 双肺纹理增多是什么意思| 吃什么补充维生素b1| 什么东西好消化| 西瓜禁忌和什么一起吃| 早上嘴苦是什么原因| 梦见自己有孩子了是什么预兆| 粉色药片是什么药| 沉香木是什么| 人放屁多是什么原因| 花木兰代表什么生肖| 胎盘位于子宫后壁是什么意思| 木薯粉是什么粉| 今天是什么节日吗| baumwolle是什么面料| 1942年属什么生肖| 火龙果什么时候成熟| 小便是红色的是什么原因男性| 汕头有什么好玩的景点| 一般什么原因做宫腔镜| 经常想吐恶心是什么原因| 北京立冬吃什么| 长期服用二甲双胍有什么副作用| 喝酒前喝什么不容易醉又不伤胃| 外贸原单是什么意思| 四联单是什么| 初中什么时候开学| 女大一抱金鸡是什么意思| 养肺补肺吃什么药最好| 牙齿浮起来是什么原因| 巴旦木是什么树的果实| 舌面有裂纹是什么原因| 夏季养什么脏腑| 登高是什么意思| 末法时代是什么意思| 睾丸痒是什么原因| 遥望是什么意思| dollars是什么意思| 活血化瘀是什么意思| 什么是热感冒| hb指的是什么| 阳痿吃什么| 宝批龙是什么意思| 梦见修坟墓是什么预兆| 一月2日是什么星座| 银梳子梳头有什么好处和坏处| 7月初七是什么日子| 维生素b是补什么的| 尿液中有血是什么原因| 甲亢和甲减有什么区别| 画饼充饥是什么意思| 留级是什么意思| 说什么| 食物中毒吃什么药解毒| 一什么水塔| 什么嘴什么舌| 湿气重吃什么药| 蟑螂幼虫长什么样| 阳明病是什么意思| 肌炎是什么病| 发烧时不宜喝什么饮料| 基点是什么意思| 小肚子发胀是什么原因女性| 五花八门是什么意思| 钙片什么时候吃最好| 耳朵后面长痘痘是什么原因| 一清二白是什么意思| 口若悬河是什么生肖| 乳腺挂什么科室| 洗涤剂是什么| moncler是什么品牌| 痔疮嵌顿是什么意思| 诺如病毒是什么| 申字五行属什么| 同床出血什么原因呢| 10点多是什么时辰| 鲟鱼吃什么| 什么是纯爱| 探望病人买什么水果| 什么产品祛斑效果最好| 无私的动物是什么生肖| 脱俗是什么意思| 寸脉弱是什么原因| 椰子和椰青有什么区别| 什么植物和动物像鸡| 五根手指叫什么| 土界读什么| 河蚌用什么呼吸| 吃茄子有什么好处和坏处| 黑色签字笔是什么笔| 容易放屁是什么原因| 细胞核由什么组成| 空调健康模式是什么意思| 瓒字取名有什么寓意| 吃什么补胶原蛋白| 梦见很多人是什么意思| 胆囊炎吃什么药好| 92什么意思| 谷氨酰基转移酶低是什么原因| 太阳代表什么数字| 什么是生理盐水| 吃什么东西会误测怀孕| 什么药化痰效果最好| 碘是什么颜色| tct检查什么项目| 消石灰是什么| 腮腺炎的症状是什么| 低压高什么原因导致的| 经常吃生花生有什么好处和坏处| 洋辣子学名叫什么| 犬字旁的字和什么有关| 大驿土是什么意思| 大便干燥一粒一粒的吃什么药| 过敏性鼻炎吃什么药能快速缓解| 体测是什么意思| 无创是什么| 圣诞节礼物什么时候送| 宝宝腹泻吃什么药| 总打哈欠是什么原因| 心血不足吃什么药| 脐炎用什么药| 百度
Skip to main content

中国在太空建超级宽带网!飞机高铁将可快速上网

百度 有报道称,熟悉吉利战略的人士称,吉利收购戴姆勒股权是渴望接入戴姆勒的电动汽车电池技术,并希望在湖北武汉建立一家电动汽车合资企业。

Electron is a framework enabling developers to build cross-platform desktop applications for macOS, Windows, and Linux by combining web technologies (HTML, JavaScript, CSS) with Node.js and native code. It is open-source, MIT-licensed, and free for both commercial and personal use. In this document, we’ll explain why companies and developers choose Electron.

We can split up the benefits of Electron in two questions: First, why should you use web technologies to build your application? Then, why should you choose Electron as the framework to do so?

If you’re already using web technologies for your application, you can skip straight to the Why Electron? section below.

Why choose web technologies?

Web technologies include HTML, CSS, JavaScript, and WebAssembly. They’re the storefront of the modern Internet. Those technologies have emerged as the best choice for building user interfaces — both for consumer applications as well as mission-critical business applications. This is true both for applications that need to run in a browser as well as desktop applications that are not accessible from a browser. Our bold claim here is that this isn’t just true for cross-platform applications that need to run on multiple operating systems but true overall.

As an example, NASA’s actual Mission Control is written with web technologies. The Bloomberg Terminal, the computer system found at every financial institution, is written with web technologies and runs inside Chromium. It costs $25,000 per user, per year. The McDonald’s ordering kiosk, powering the world’s biggest food retailer, is entirely built with Chromium. The SpaceX’s Dragon 2 space capsule uses Chromium to display its interface. You get the point: web technologies are a great tech stack to build user interfaces.

Here are the reasons we, the Electron maintainers, are betting on the web.

Versatility?

Modern versions of HTML and CSS enable your developers and designers to fully express themselves. The web’s showcase includes Google Earth, Netflix, Spotify, Gmail, Facebook, Airbnb, or GitHub. Whatever interface your application needs, you will be able to express it with HTML, CSS, and JavaScript.

If you want to focus on building a great product without figuring out how you can realize your designer’s vision in a specific UI framework, the web is a safe bet.

Reliability?

Web technologies are the most-used foundation for user interfaces on the planet. They have been hardened accordingly. Modern computers have been optimized from the CPU to the operating system to be good at running web technologies. The manufacturers of your user’s devices—be that an Android phone or the latest MacBook—will ensure that they can visit websites, play videos on YouTube, or display emails. In turn, they’ll also ensure that your app has a stable foundation, even if you have just one user.

If you want to focus on building a great product without debugging a weird quirk that nobody has found before, the web is a safe bet.

Interoperability?

Whatever provider or customer data you need to interact with, they will have probably thought of an integration path with the web. Depending on your technology choice, embedding a YouTube video either takes 30 seconds or requires you to hire a team devoted to streaming and hardware-accelerated video decoding. In the case of YouTube, using anything other than the provided players is actually against their terms and conditions, so you’ll likely embed a browser frame before you implement your own video streaming decoder.

There will be virtually no platform where your app cannot run if you build it with web technologies. Virtually all devices with a display—be that an ATM, a car infotainment system, a smart TV, a fridge, or a Nintendo Switch—come with means to display web technologies. The web is safe bet if you want to be cross-platform.

Ubiquity?

It’s easy to find developers with experience building with web technologies. If you’re a developer, it’ll be easy to find answers to your questions on Google, Stack Overflow, GitHub, or a coding AI of your choice. Whatever problem you need to solve, it’s likely that somebody has solved it well before—and that you can find the answer to the puzzle online.

If you want to focus on building a great product with ample access to resources and materials, the web is a safe bet.

Why choose Electron?

Electron combines Chromium, Node.js, and the ability to write custom native code into one framework for building powerful desktop applications. There are three main reasons to use Electron:

Enterprise-grade?

Electron is reliable, secure, stable, and mature. It is the premier choice for companies building their flagship product. We have a list of some of those companies on our homepage, but just among chat apps, Slack, Discord, and Signal are built with Electron. Among AI applications, both OpenAI’s ChatGPT and Anthropic’s Claude use Electron. Visual Studio Code, Loom, Canva, Notion, Docker, and countless other leading developers of software bet on Electron.

We did make it a priority to make Electron easy to work with and a delight for developers. That’s likely the main reason why Electron became as popular as it is today — but what keeps Electron alive and thriving is the maintainer’s focus on making Electron as stable, secure, performant, and capable of mission-critical use cases for end users as possible. We’re building an Electron that is ready to be used in scenarios where unfixable bugs, unpatched security holes, and outages of any kind are worst-case scenarios.

Mature?

Our current estimation is that most desktop computers on the planet run at least one Electron app. Electron has grown by prioritizing talent in its maintainer group, fostering excellent and sustainable engineering practices in managing the ongoing maintenance, and proactively inviting companies betting on Electron to directly contribute to the project. We’re an impact project with the OpenJS foundation, which is itself a part of the Linux foundation. We share resources and expertise with other foundation projects like Node.js, ESLint, Webpack - or the Linux Kernel or Kubernetes.

What does all of that mean for you, a developer, in practice?

  • Reliable release schedule: Electron will release a new major version in lockstep with every second major Chromium release, usually on the same day as Chromium. A lot of work, both in the form of building processes and tools, but also in terms of raw invested hours every week, has to go into making that happen.
  • No dictators: Sometimes, betting on a technology also requires you to bet on a single person or company. In turn, it requires you to trust that the person or company never has a breakdown, starts fighting you directly, or does anything else drastic that’ll force you rethink your entire tech stack. Electron is maintained by a diverse set of companies (Microsoft, Slack/Salesforce, Notion, and more) and will continue to welcome more companies interested in ensuring their “seat at the decision-making table”.

Stability, security, performance?

Electron delivers the best experience on all target platforms (macOS, Windows, Linux) by bundling the latest version of Chromium, V8, and Node.js directly with the application binary. When it comes to running and rendering web content with upmost stability, security, and performance, we currently believe that stack to be “best in class”.

Why bundle anything at all?

You might wonder why we bundle Chromium’s web stack with our apps when most modern operating systems already ship a browser and some form of web view. Bundling doesn’t just increase the amount of work for Electron maintainers dramatically, it also increases the total disk size of Electron apps (most apps are >100MB). Many Electron maintainers once developed applications that did make use of embedded web views — and have since accepted the increased disk size and maintainer work as a worthy trade-off.

When using an operating system's built-in web view, you're limited by the browser version included in the oldest operating system version you need to support. We have found the following problems with this approach:

  • Stability: The modern web technology stack is complex, and as a result, you’ll sooner or later encounter bugs. If you use the operating system’s web view, your only recourse will be to ask your customers to upgrade their operating system. If no upgrade is available for that machine (because of no ability to upgrade to the latest macOS or Windows 11), you’ll have to ask them to buy a new computer. If you’re unlucky, you’re now losing a major customer because they will not upgrade their entire fleet of thousands of machines just because one team wanted to try your startup’s app. You have no recourse in this situation. Even the risk of that happening is unacceptable to the companies that employ the Electron maintainers.
  • Security: Similar to how you can fix stability bugs by releasing an app update, you can also release security fixes to your application without asking your customer to upgrade their operating system. Even if operating system providers prioritize updates to their built-in browser, we have not seen them reliably update the built-in web views with similar urgency. Bundling a web renderer gives you, the developer, control.
  • Performance: For simple HTML documents, a built-in web view will sometimes use fewer resources than an app with a bundled framework. For bigger apps, it is our experience that we can deliver better performance with the latest version of Chromium than we can with built-in web views. You might think that the built-in view can share a lot of resources with other apps and the operating system— but for security reasons, apps have to run in their own sandboxes, isolated from each other. At that point, the question is whether the OS’ web view is more performant than Chromium. Across many apps, our experience is that bundling Chromium and Node.js enables us to build better and more performant experiences.

Why bundle Chromium and Node.js?

Electron aims to enable the apps it supports to deliver the best possible user experience, followed by the best possible developer experience. Chromium is currently the best cross-platform rendering stack available. Node.js uses Chromium’s JavaScript engine V8, allowing us to combine the powers of both.

  • Native code when you want it: Thanks to Node.js’ mature native addon system, you can always write native code. There is no system API out of reach for you. Whatever macOS, Windows, or Linux feature you’ll want to integrate with —as long as you can do it in C, C++, Objective-C, Rust, or another native language, you’ll be able to do it in Electron. Again, this gives you, the developer, maximum control. With Electron, you can use web technologies without choosing only web technologies.

Developer experience?

To summarize, we aim to build an Electron that is mature, enterprise-grade, and ready for mission-critical applications. We prioritize reliability, stability, security, and performance. That said, you might also choose Electron for its developer experience:

  • Powerful ecosystem: Anything you find on npm will run inside Electron. Any resource available to you about how to work with Node.js also applies to Electron. In addition, Electron itself has a thriving ecosystem — including plenty of choices for installers, updaters, deeper operating system-integration, and more.
  • Plenty of built-in capabilities: Over the last ten years, Electron’s core has gained plenty of native capabilities that you might need to build your application. Written in C++ and Objective-C, Electron has dozens of easy-to-use APIs for deeper operating-system integration — like advanced window customization for transparent or oddly shaped widgets, receiving push notifications from the Apple Push Notification Network, or handling a custom URL protocol for your app.
  • Open source: The entire stack is open source and open to your inspection. This ensures your freedom to add any feature or fix any bug you might encounter in the future.
  • Native code when you need it: It bears repeating that Electron allows you to mix and match web technologies and C++, C, Objective-C, Rust, and other native languages. Whether it be SQLite, a whole LLM, or just the ability to call one specific native API, Electron will make it easy.

Why choose something else?

As outlined above, the web is an amazing platform for building interfaces. That doesn’t mean that we, the maintainers, would build everything with HTML and CSS. Here are some notable exceptions:

Resource-Constrained Environments and IoT: In scenarios with very limited memory or processing power (say, one megabyte of memory and 100MHz of processing power on a low-powered ARM Cortex-M), you will likely need to use a low-level language to directly talk to the display to output basic text and images. Even on slightly higher-powered single-chip devices you might want to consider an embedded UI framework. A classic example is a smart watch.

Small Disk Footprint: Zipped Electron apps are usually around 80 to 100 Megabytes. If a smaller disk footprint is a hard requirement, you’ll have to use something else.

Operating System UI Frameworks and Libraries: By allowing you to write native code, Electron can do anything a native application can do, including the use of the operating system’s UI components, like WinUI, SwiftUI, or AppKit. In practice, most Electron apps make rare use of that ability. If you want the majority of your app to be built with operating system-provided interface components, you’ll likely be better off building fully native apps for each operating system you’d like to target. It’s not that it’s impossible with Electron, it’ll just likely be an overall easier development process.

Games and Real-Time Graphics: If you're building a high-performance game or application requiring complex real-time 3D graphics, native frameworks like Unity, Unreal Engine, or DirectX/OpenGL will provide better performance and more direct access to graphics hardware. Web fans might point out caveats, like the fact that even Unreal Engine ships with Chromium — or that WebGPU and WebGL are developing rapidly and many game engines, including the ones listed here, can now output their games in a format that runs in a browser. That said, if you asked us to build the next AAA game, we’d likely use something else than just web technologies.

Embedding Lightweight Websites: Electron apps typically are mostly web apps with native code sprinkled in where useful. Processing-heavy Electron applications tend to write the UI in HTML/CSS and build the backend in Rust, C++, or another native language. If you’re planning to build a primarily native application that also wants to display a little website in a specific view, you might be better off using the OS-provided web view or something like ultralight.

百度