[{"data":1,"prerenderedAt":306},["ShallowReactive",2],{"project-14260755":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":41,"post_text":43,"what":44,"said":78,"maker_in_thread":192,"shape":200,"grid":203,"attempts":268,"same_week":269,"maker_shows":31,"maker_hidden":298,"reader_version":299,"card":300},"14260755","Electrino","A featherweight API-compatible alternative to Electron","title","Show HN: Electrino, a featherweight API-compatible alternative to Electron","https:\u002F\u002Fgithub.com\u002Fpojala\u002Felectrino","github.com","pavlov",1493850109,2017,99,29,464,2242,21,"notable","dev_tools","desktop app framework","library",[24,25,26,27],"electron alternative","desktop apps","system webview","app size","debated",-0.152,{"positive":31,"neutral":32,"mixed":33,"critical":31},6,1,0,13,{"idea":36,"performance":39,"execution":40},{"positive":37,"critical":38},3,2,{"positive":37,"critical":38},{"positive":33,"critical":38},[33,42,33,42,42,33,42,32,33,42,32,33,33,32,33,42,33,33,32,33,32,33,32,33,37,33,33,33,33],5,null,{"problem":45,"audience":52,"pricing":43,"motivation":59,"time_to_build":43,"stack":64,"openness":76,"stage":77,"team_size":76},{"value":46,"source":47,"evidence":48},"Electron apps are huge because each bundles its own Node and Chromium runtimes","maker",[49],{"id":50,"by":11,"text":51},"14260782","Yesterday there was a thread on HN about using Electron to build desktop apps: https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=14245183 I posted a comment lamenting that Electron apps are…",{"value":53,"source":47,"evidence":54},"Developers building small desktop utilities on Electron-style stacks",[55,56],{"id":50,"by":11,"text":51},{"id":57,"by":11,"text":58},"14261106","Using the system web runtime does reduce the app's memory usage too, not just the on-disk size. The system runtime is loaded just once (and is probably already in active memory),…",{"value":60,"source":47,"evidence":61},"Electron apps bloat file size and memory; a lighter approach using the system browser engine",[62,63],{"id":50,"by":11,"text":51},{"id":57,"by":11,"text":58},[65,72],{"value":66,"source":67,"evidence":68},"JavaScript","inferred",[69],{"id":70,"by":11,"text":71},"14264246","The plan is to implement Node-compatible modules directly in Electrino. I made stubs for \"path\", \"url\", \"process\" so that the Electron Hello World can be loaded. Doing \"fs\" next…",{"value":73,"source":47,"evidence":74},"Node-compatible modules (path, url, process stubs)",[75],{"id":70,"by":11,"text":71},"unknown","prototype",{"praise":79,"objections":103,"requests":137,"questions":154,"alternatives":166},[80,96],{"value":81,"source":82,"evidence":83},"Addresses the file size and bloat complaints about Electron","commenter",[84,88,92],{"id":85,"by":86,"text":87},"14265171","52-6F-62","This could be big. One of the most common complaints about Electron I've heard is the file size and cpu load. In short, nice work! I know it would add extra time to the build on…",{"id":89,"by":90,"text":91},"14270438","wishinghand","A lot of people have griped about the bloat of Electron, or wondered why package each app with Chromium over and over, but you went and did something about it! This is rad and…",{"id":93,"by":94,"text":95},"14296679","JusticeJuice","This is super duper cool. Slack and discord could immediately become 1\u002F20th the size. A lot of electron apps don't need the full capabilities of electron - what would be dope is…",{"value":97,"source":47,"evidence":98},"Lower memory and CPU use than Electron for small apps",[99,102],{"id":100,"by":11,"text":101},"14269514","I did do trivial tests. The Electrino \"Hello World\" launches faster and consumes about 70% less memory than the Electron one. For complex apps, I imagine the picture can be very…",{"id":57,"by":11,"text":58},[104,112,123,130],{"value":105,"source":82,"evidence":106},"Only a tiny subset of Electron APIs is implemented",[107,111],{"id":108,"by":109,"text":110},"14265102","derimagia","\"It implements a minuscule portion of the APIs available in Electron\" - I wouldn't really call that API-compatible. For most apps I'm sure this is fine though.",{"id":50,"by":11,"text":51},{"value":113,"source":82,"evidence":114},"Node side is missing, so npm packages and fs access are lacking",[115,119],{"id":116,"by":117,"text":118},"14265254","dangoor","It seems like the trouble with this approach is that you have to not only build up adequate Electron compatibility but you also need to build up Node compatibility, which seems…",{"id":120,"by":121,"text":122},"14264225","anilgulecha","the file size is too small to be an equivalent to (nodewebkit\u002Felectron) - webkit\u002Fchromium. What you'd need is node (without webkit) which translates to ~9MB, + launching with the…",{"value":124,"source":82,"evidence":125},"System webview may be slower and use more resources than Electron on macOS",[126],{"id":127,"by":128,"text":129},"14268947","ricardobeat","Have you tested that? In my experience using a system webview actually consumes more resources than Electron, and is noticeably slower, at least in OSX\u002FWebKit.",{"value":131,"source":82,"evidence":132},"Only works on macOS so far",[133],{"id":134,"by":135,"text":136},"14265049","arenaninja","Ah so far it works only for macOS. I wanted to give it a test run but I'm on Windows at the moment",[138,145,149],{"value":139,"source":82,"evidence":140},"Remove Chromium and keep Node as a lighter base",[141,144],{"id":142,"by":135,"text":143},"14265076","As a starting point, would it not make more sense to remove the chromium dependency and still include Node? I saw your comment yesterday and it really gave me something to think…",{"id":120,"by":121,"text":122},{"value":146,"source":82,"evidence":147},"Windows support",[148],{"id":134,"by":135,"text":136},{"value":150,"source":82,"evidence":151},"Selectively add only needed APIs or packages",[152,153],{"id":93,"by":94,"text":95},{"id":85,"by":86,"text":87},[155,162],{"value":156,"source":82,"evidence":157},"Is the full browser DOM still available?",[158],{"id":159,"by":160,"text":161},"14264158","giancarlostoro","I don't have an Electron project going, but I can tell you something like this could add some value to some companies invested in Electron as-is. You just have to get their…",{"value":163,"source":82,"evidence":164},"How would npm modules work without Node?",[165],{"id":116,"by":117,"text":118},[167,175,179,185],{"value":168,"source":82,"evidence":169},"Electron",[170,171],{"id":50,"by":11,"text":51},{"id":172,"by":173,"text":174},"14261078","Etheryte","Most of the time though, the real issue that people have with Electron-based apps is memory and CPU usage. Electron is notorious for hogging RAM like there's no tomorrow. While…",{"value":176,"source":82,"evidence":177},"NW.js (node-webkit)",[178],{"id":120,"by":121,"text":122},{"value":180,"source":82,"evidence":181},"MacGap",[182],{"id":183,"by":128,"text":184},"14268972","MacGap offered this before Electron\u002FNW came to exist: https:\u002F\u002Fgithub.com\u002FMacGapProject\u002FMacGap1 (and there was a way to bundle node too) Unfortunately neither v1 nor 2 have been…",{"value":186,"source":82,"evidence":187},"Java-based desktop frameworks",[188],{"id":189,"by":190,"text":191},"14289865","bbcbasic","Why not use Java folks? Write once run anywhere and reasonable file sizes and memory usage.",{"comments":193,"answered":37,"key":194},7,[195,196,199],{"id":50,"text":51},{"id":197,"text":198},"14264216","Thanks! The full browser DOM is certainly there. The missing APIs are the Electron-specific ones that apps can use to access desktop features. Adding new APIs individually is…",{"id":57,"text":58},{"commenters":201,"max_depth":42,"maker_replies":193,"first_comment_mins":42,"lifespan_hours":202},19,122,[204,206,208,210,212,214,218,219,221,223,226,227,228,231,233,234,235,237,239,240,242,246,251,252,253,255,260,262,265],[50,33,33,205,11,32],"maker\u002Fneutral\u002Fidea",[159,33,42,207,160,33],"project\u002Fpositive\u002Fidea",[197,33,33,209,11,32],"project\u002Fneutral\u002Fexecution",[85,33,42,211,86,33],"project\u002Fpositive\u002Fperformance",[89,33,42,213,90,33],"maker\u002Fpositive\u002Fidea",[215,33,33,216,217,33],"14273523","other\u002Fneutral\u002Fnone","styfle",[93,33,42,211,94,33],[172,32,32,220,173,33],"project\u002Fcritical\u002Fperformance",[57,32,33,222,11,32],"project\u002Fneutral\u002Fperformance",[224,32,42,211,225,33],"14265445","fox8091",[127,32,32,220,128,33],[100,32,33,211,11,32],[229,38,33,216,230,33],"14265089","scribe123",[120,37,32,232,121,33],"project\u002Fcritical\u002Fidea",[70,37,33,209,11,32],[142,37,42,207,135,33],[236,37,33,205,11,32],"14265478",[238,37,33,216,135,33],"14265534",[116,37,32,232,117,33],[241,37,33,209,11,32],"14265523",[243,37,32,244,245,33],"14265552","project\u002Fcritical\u002Fexecution","marcoms",[247,248,33,249,250,33],"14265180",4,"other\u002Fneutral\u002Fidea","mingodad",[108,42,32,244,109,33],[183,31,33,216,128,33],[134,193,37,254,135,33],"project\u002Fneutral\u002Fnone",[256,257,33,258,259,33],"14283346",8,"other\u002Fcritical\u002Fidea","tanerax",[189,261,33,249,190,33],9,[263,261,33,216,264,33],"14290241","roryisok",[266,261,33,267,190,33],"14290431","commenter\u002Fneutral\u002Fnone",[],[270,275,279,284,289,294],{"id":271,"name":272,"points":273,"category":274},"14226889","jacquesmattheij.com",1264,"hardware",{"id":276,"name":277,"points":278,"category":20},"14254357","Cone",418,{"id":280,"name":281,"points":282,"category":283},"14240626","Kryptonite",338,"security_privacy",{"id":285,"name":286,"points":287,"category":288},"14212054","Helio Workstation",305,"creative",{"id":290,"name":291,"points":292,"category":293},"14245538","VPS Comparison",228,"infrastructure",{"id":295,"name":296,"points":297,"category":20},"14210877","Pygit",208,false,"v2",{"id":301,"name":5,"line":6,"ai":298,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":302,"top":18,"kw":303,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":304,"url":9,"mix":305,"praise":81,"objection":105,"sub":21},14260755,-0.15,[24,25,26,27],"05055051051001050010101030000",[31,32,33,31],1793990958674]