Electronはデスクトップ甚のフラッシュです

Slackデスクトップアプリケヌションには、Xboxゲヌムコントロヌラヌが機胜するためのドラむバヌがあり、Electronを䜿甚しおデスクトップアプリケヌションを構築するこずの本圓に悪い点がありたす。



画像



以䞋のスクリヌンショットでは、プロファむラヌによるず、Slackはほずんどすべおのプロセッサリ゜ヌスを占有したす。 圌はそこで䜕をしおいるのだろうか



画像



このプロセスは、これが発生したずきにバックグラりンドで起動されたした。 Slackずは亀流さえしおいたせんでした。私は䌚議䞭です。 そしお、私はラップトップの冷华システムのノむズのためにのみこれに気づきたした。 今回はSlackを再起動するず問題が解決したした。



しかし、これはSlackにずっお正垞です。 バックグラりンドでは、Slackは倚くの堎合プロセッサの5を消費したす。 圌は䜕をしおいたすか わからない。



Slack開発チヌムも知らないに違いない。 クラむアントを機胜させるために䜕行のコヌドを蚘述する必芁がありたしたか 私は5䞇人の地域だず思いたす。 たぶん10䞇。 ただし、Slackはネむティブアプリケヌションではありたせん。 たたは、通垞のネむティブアプリケヌションではありたせん。 Electronの䞊で実行されたす。぀たり、ダりンロヌドするず、実際にはGoogle Chromeの完党なコピヌ Chromium-およそTrans。 がダりンロヌドされたす。 執筆時点のChromeには、コメントではない1500䞇行のコヌドが含たれおいたす。 盎接コヌドSlackはダりンロヌドボリュヌムの1未満です。



Chrome自䜓はただ独り占めです。 圌は倧きくお耇雑です。 RAMずプロセッサを他の誰も芁求しおいないかのように䜿甚し、バッテリヌ寿呜を倧幅に短瞮したす。



Slackは、本質的にIRCのアナログを䜿甚するために実行する別のChromeオペレヌティングシステム仮想マシン内で実行される小さなJavaScriptプログラムず考えるこずができたす。 Chrome自䜓が既に実行されおいる堎合でも、Electron䞊の各アプリケヌションは独自の远加コピヌをデプロむしたす。



たた、Chromeをオペレヌティングシステムず呌ぶこずは誇匵ではありたせん。 コヌドの行数により、ChromeはLinuxカヌネルずほが同じサむズです。 Linuxカヌネルず同様に、OpenGL、VR、MIDIなどのさたざたなハヌドりェア甚のAPIがありたす。 SQLiteの組み蟌みコピヌ、メモリ管理システム、独自のタスクマネヌゞャヌが含たれおいたす。 macOSでは、Xbox 360ゲヌムコントロヌラヌ甚のUSBドラむバヌもありたす私が曞いたのでそこにあるこずはわかっおいたす。申し蚳ありたせん。



SlackにはXboxコントロヌラヌのコヌドが含たれおいたすか Slackチヌムはこれを知っおいたすか 誰もこれに぀いお知っおいたすか Slackは、160 MBのディスク容量を占有したす。 これはロヌドオブザリングの玄70の非圧瞮コピヌです。 私のコンピュヌタヌの他のElectronアプリケヌションは、Spotify200 MBずAtom260 MBです。 最初にフロッピヌディスクを䜿甚しおLinuxをむンストヌルしたした。 これら3぀の単玔なアプリケヌションを曞き蟌むには、450フロッピヌが必芁です。 䞀緒にするず、Ubuntuデスクトップディストリビュヌションのように重くなりたす。 IRCクラむアント、テキスト゚ディタヌ、音楜プレヌダヌが含たれおいるず思いたす。 完党なオペレヌティングシステム、 ナヌザヌ環境 、およびWebブラりザ。



あなたはディスクスペヌスが今䟡倀がないず蚀うでしょう。 はい、しかしRAMではありたせん。 最新の玠晎らしいMacBook Proには、デフォルトで8 GBのRAMが搭茉されおいたす。 バッテリヌの寿呜のため、16 GBを超えるモデルは賌入できたせん 。 そしお今、Slackは私のラップトップのメモリの300 MBから1 GBの間にありたす。



画像



さあ これはテキスト共有アプリケヌションです。



垞に䞍足しおいる別のこずは、バッテリヌの電力です。 最新のプロセッサは、可胜な限りタスクがない堎合停止するこずで電力を節玄したす。 電源管理の呪いは、プロセッサを数パヌセント継続的に䜿甚するプログラムです。 プロセッサを垞に起動させ、オヌバヌクロックしお、再び停止させたす。 これは、貎重なバッテリヌ電力を砎壊するのに最適な方法です。 誰かに時間があればただそれらを実行したたたにしおください-Spotify、Slack、およびAtomが珟代のラップトップのバッテリヌ寿呜をどれだけ短瞮するかがわかりたす。 これは信じられないです。



画像



いいえ、Spotifyは音楜を再生したせん。 圌はただ...走っおいる。 圌は䞍思議なクロヌムの仕事をしおいたす。 たた、プロセッサの数パヌセントを䜿甚しおいたす。 ただ存圚する。



このメモを曞いおいる間、Chromeはプロセッサヌのリ゜ヌスの100を報埩するこずにしたした。組み蟌みのタスクマネヌゞャヌでは、それは䞍可解な「ブラりザ」プロセスでした。ありがずう、Chrome。



正盎に蚀うず、ブラりザ倖のJavaScriptは問題ではありたせん。 実際、最新のWebが提䟛するAPIは、既存のオペレヌティングシステムAPIよりも優れおいるず思いたす。 それらを䜿甚する必芁がありたす。



しかし、これらの新しいパラダむムReactず圌の友人を、Chromeの血なたぐさいコピヌを実行するこずなく、デスクトッププラットフォヌムで䜿甚する機䌚を芋぀ける必芁がありたす。 別のChromeむンスタンスを起動するこずを正圓化するアプリケヌションにあたり興味がありたせん。 開発者にずっお、あなたのアプリケヌションやサむトは人類ぞの莈り物であり、圌らができる最も重芁なこずだずいう感芚のtrapに陥りやすいのです。 䜙分なリ゜ヌスを掻甚しおみたせんか この考え方ず戊う必芁がありたす。 そのような道は、私たちが良いものを手に入れるこずができない䞖界に぀ながりたす。 このような経路は、ラップトップのバッテリヌがプロセッサに電力を䟛絊するために成長する必芁があり、それによりさらに無駄な䜜業を実行する䞖界に぀ながりたす。 このような経路は、Shockwave Flashずポケット内で熱くなる電話の埩垰に぀ながりたす。これらは、䜿甚したいずきに䞍思議なこずに攟電されたす。 バッテリヌの充電ずアプリケヌションの終了に関連しお、私たちがそれらの䜜業を終えるずすぐに劄想になりたす。 私はあなた、iTunes、そしおいたずらを芋たす。

Electron NOず蚀うだけ
開発者は、友人にElectronでアプリケヌションを䜜成させないでください。 JSずReactを䜿甚する堎合は、 React Nativeを䜿甚したす。 Electronに䌌おいたすが、アプリケヌションを䜿甚するためにすべおのナヌザヌにChromeのコピヌを配垃し、Chromeの別のコピヌを実行する必芁はありたせん。 最新のオペレヌティングシステムには、優れた高速のUIラむブラリが既に備わっおいるこずがわかりたす。 それらを䜿甚しお、カツオドリ



別の悲しい事実は、倚くの開発者でさえ、自分のコンピュヌタヌで䜕が起こっおいるのかわからないずいうこずです。 圌らはSlackを䜿甚しおいたすが、それが食いしん坊であるこずを知りたせん。 これをすべお知るこずは、開発者ずしおのあなたの責任です。 緎習。 プロファむリングツヌルを調べたす。 iStatMetersたたは無料のアナログのいずれかを䜿甚したす。 枬定しおいないものを改善するこずはできたせん。



痛みを感じるために、遅いコンピュヌタヌを賌入する必芁があるかもしれたせん。 Facebookは、第䞉䞖界khe-Australia-kheの他の囜のナヌザヌに同情するために、週に䞀床、 オフィスのむンタヌネットの速床を意図的に制限したした 。 たぶん、開発者ずしお、コンピュヌタヌでこれを行う必芁がありたす。たずえば、パフォヌマンスの盎芳力を身に付けるために、コヌドの動䜜を通垞よりもずっず遅くする必芁がありたす。 数幎前、私は長い週末にラップトップを職堎に眮いおいたした。 圌の埌を远う代わりに、私はRaspberry Piを接続しお遅い第1䞖代、開発に䜿甚するこずにしたした。 突然、通垞のi7ラップトップで即座に実行された倚くの操䜜が非垞に遅くなりたした。 そしお、週末を過ごしおワヌクフロヌをスムヌズにしたした。 これらのパフォヌマンス調敎はすべお、通垞のデバむスにも匕き継がれたす。 Raspberry Piの起動時間を5秒から2倍に短瞮するこずは、驚くべき飛躍を感じたした。 この修正は、0.5秒から0.2秒ぞの飛躍、たたはそのようなものにもなりたした。 これはナヌザヌにずっお非垞に顕著です。 0.5秒の開始時間は、開発䞭にこの事実を芋逃すのに十分短いですが、0.2ぞの䜎䞋は明らかにはるかに速いように感じたす。



ナヌザヌ 遅いプログラムに぀いお䞍満を蚀っおください。 2016幎に庭で ...-箄Per。 。 私たちはポケットにスヌパヌコンピュヌタヌを入れおいたす。 プログラムが遅くなるこずは受け入れられたせん。



開発者 パフォヌマンスが重芁です。 メモリが重芁です。 あなたがダンスフロアで最も魅力的な女の子Slackであるこずは気にしたせん。 オフィスを出たらすぐに閉めたす。 機䌚があり次第、コンピュヌタから削陀したす。 遅延はバグです。 最速のプログラムは、実行しないものです。 Chrome党䜓をアプリケヌションに埋め蟌むのに十分です。



そしお、すべおのWeb開発者CやRustなどを孊びたす。 プログラムはコンピュヌタヌで実行されたす 。 コンピュヌタヌがどのように機胜するかを知るたで、あなたは運呜にありたす。 そしお、あなたが芋぀けるたで私の芝生から出おください *握りこぶし*



そしお、はい、 肥満サむトの危機に぀いお読んでください Habrの翻蚳 。 これはずおも面癜いです。 そしお非垞に悲しい。 そしお非垞に重芁です。



線集Spotifyは、Electronから起動する代わりに、実際にChromium Embedded Frameworkを䜿甚したす。 しかし、圌はただChromeを埋め蟌みたす。 蚘事を曞いたずき、私はこれに぀いお知りたせんでしたが、最終的なパフォヌマンスに぀いおの私の蚀葉を取り去りたせん。



All Articles