14 ms·
ElectronJS alternative: SciterJS – HTML/CSS/JS in 4.5 MB executable
- ptrott2017 6y agoSciter is a very nice engine with a solid API/SDK and rock solid engineering behind it. For developers building efficient UI apps it can be a real alternative method to things like electron or as a lighter alternative to QT with QML script. However until now it was only available under commercial licence. Andrew Fedoniouk ( a.k.a. c-smile Sciter's original developer) has a kickstarter to fund open sourcing and supporting additional development to make it more accessible javascript developers. Learn more here: https://www.kickstarter.com/projects/c-smile/open-source-sciter-engine https://www.kickstarter.com/projects/c-smile/open-source-sci...
- NetOpWibby 6y ago55 hours to go and not even a third of the goal completed. I’m an optimistic guy but I don’t see this happening. EDIT: I wouldn’t mind being wrong.
- ptrott2017 6y agoyeah i just found the kickstarter when I was replying to this thread. Off to go and sign up for it now...
- est31 6y agohttps://www.backerkit.com/projects/c-smile/open-source-sciter-engine https://www.backerkit.com/projects/c-smile/open-source-scite... It's a bit bleak indeed. The "open-sourcing the sciter" post [0] has gained almost no traction, news coverage [1] etc. This hn thread is the first time I heard of this kickstarter myself. I think with a bit of marketing, the goal is absolutely reachable. Also there are plenty of grants and foundations that support open source projects. It's likely that with the right application they'll donate the needed amount, but usually they work quite slowly. Likely won't happen in the remaining 53 hours. [0]: https://terrainformatica.com/2020/09/07/open-sourcing-the-sciter/ https://terrainformatica.com/2020/09/07/open-sourcing-the-sc... [1]: https://www.google.com/search?q=sciter+open+source&tbm=nws&source=lnt&tbs=qdr:m https://www.google.com/search?q=sciter+open+source&tbm=nws&s...
- true_religion 6y agoI don't see it happening either. 1. It's a GPL release. 2. None of the rewards are happening in some far-future date. It's all in October (of which there is 15 days left). Essentially, the proposition is that we the community pay and they will relicense it to GPL. If we pay more then they licence to BSD. Using Kickstarter to pay for essentially finished goods isn't really the point of the system, and won't really work without a marketing campaign. Now, if grassroots were behind this, then a paid marketing campaign wouldn't be necessary... but the actual customers of ScriterJS, are commercial companies already paying for a licence and won't benefit from a GPL release. Elsewhere in this thread, people talk about the goodwill the companies will gain if they pay for this project to be open sourced. However open source goodwill is only generated by popular projects, who market their sponsors. The lack of marketing around the kickstarter, would make companies think that their sponsorship won't receive much PR as well. Lastly, one must ask why the company behind ScriterJS doesn't simply open source it themselves for goodwill and let a community grow organically to support it (via donations or code)? While no one can guarantee on-going support indefinitely, the way this projects release is being positioned makes me think its going to be an abandoned code-dump. All said, it looks like a commercial company wants to dump their product. If they can get enough money, they'll open source it. If not, they'll just let long-tail revenue trickle in for the next few years to get the same sum of money.
- Tomte 6y ago> Essentially, the proposition is that we the community pay and they will relicense it to GPL Yes, that's the Blender model, but unfortunately without any publicity.
- clafferty 6y agoDid my bit to chip in. Some hope still!
- IshKebab 6y agoMy suspicion is because: a) It's $100k for GPL. $200k for MIT. I expect the latter is much more interesting to most people but there's no way to pledge for only that. b) It's still web based. I think the large file size of Electron apps is only part of most people here's objection to them. There's also the general slowness, jankyness, lack of coherence, bugginess etc. Still, I would have expected more interest than this.
- untog 6y agoI'm absolutely the target market for this (I've even downloaded Sciter and tried it out before now)... and I had no idea this Kickstarter had been made. I'm not sure what the answer is, but I wouldn't assume there's no interest out there!
- Etzos 6y agoIt's really sad because this is the first time I heard about this campaign. Had I known earlier I would have pledged sooner and spread the word around.
- ksec 6y agoFor $100K in total, a tiny marketing budget those companies could have shown some good will towards Open Source. I wonder if the author actually contacted those companies. That is less than $3K from each of those customers listed.
- dmitriid 6y agoThose customers probably couldn't care less about open sourcing somebody else's work.
- artiscode 6y agoGiven the author wants to release Sciter under GPL, unless twice as many funds are raised, I fail to see the incentive for any company to fund this. GPL + commercial licensing model changes nothing for commercial product developers.
- nly 6y agoIt would be surprising if the companies using Sciter (Norton, Avast, ESet, BitDefender) didn't have a copy of the source code with their commercial license, and the right to ship their own patched version with their software. If the project ever fizzled away they would probably just maintain it themselves, or migrate to Electron. Actually, it's not like these AV companies are known for their high quality product, so it wouldn't surprise me if they would just let it bitrot until there are exploitable holes.
- Rebelgecko 6y agoWhy is sciter so popular with antivirus companies?
- c-smile 6y agoFor many reasons. Compact and manageable UI layer is the first. Full Sciter build for one platform/target is 50 seconds or less. Electron/Chromium builds are about tens of hours as I've been told. Yet this https://sciter.com/from-skeuomorph-to-flat-ui-evolution-of-one-application/ https://sciter.com/from-skeuomorph-to-flat-ui-evolution-of-o... is the same app that uses the same UI engine since 2007. UI maintenance all these years is the matter of updating CSS declarations. Yet you always know that it will be HTML/CSS people that can do your UI in future.
- red_admiral 6y agoThis is the kind of project that I'd hope the Linux Foundation or similar could take an interest in financing too. Until, at least, all major modern OSes come with a built in scriptable headless browser engine, which would be a game-changer. Something-like-electron-or-sciter where you don't have to download the runtime for each individual application. Also, of course, not a walled garden: the windows "modern apps" store can sort of do this I think, but there are lots of good reasons not to go down that path.
- SiVal 6y ago"Until...all major modern OSes come with a built in scriptable headless browser engine, which would be a game-changer." Ah, yes. Internet Explorer, they called it. Built right into the OS. A game changer. Funny how the meaning of something (goodness/badness/motives/...) can change as circumstances change.
- tomashubelbauer 6y agoI think for "all major modern OSS" to apply we need at least Windows and macOS support. Internet Explorer never fit this description. Edit: This comment is wrong - looks like IE did fit this description before my time. :-)
- Fnoord 6y agoInternet Explorer ran on macOS back when it was relevant. It got discontinued after Safari was released. Also, Internet Explorer was ported to various Unices. It just never got ported to a Linux-kernel based OS. If software like this is FOSS, relies on open standards, and is designed architect independent it can be run on virtually anything. Including something which is rising in popularity.
- eropple 6y agoNot only was there IE for Mac -- at the time, it was actually a pretty decent browser. Bit rotted over time, but there was a stretch when your choices were a really janky Netscape and IE for Mac, and the choice as I recall it was pretty easy.
- sradman 6y agoYesterday’s HN thread SciTer, HTML/CSS Engine, May Go Open Source via Kickstarter: https://news.ycombinator.com/item?id=24786527 https://news.ycombinator.com/item?id=24786527
- Wowfunhappy 6y agoCould Sciter be used as an actual web browser too? We badly need more diversity in that space...
- wtetzner 6y agoI'm not completely sure, but it seems like maybe Sciter is able to stay so lightweight because it implements a subset of the HTML/CSS. If not, though, that would be a pretty big deal.
- sciurus 6y agoIf they're still trying to fund open-sourcing it, what is in this repo?
- millerm 6y agoThe repo only contains binaries for Windows (no source).
- resoluteteeth 6y agoIt seems like there's no way this kickstarter is going to reach it's target now unfortunately. There must be tons of companies that could benefit from this, so it's too bad that there aren't more people pledging money for the kickstarter campaign.
- est 6y agoShipping .exe and .dll directly in github source repo?
- quickthrower2 6y agoAnd no source code!
- dimeatree 6y agoCheck out his github profile, it exists in another repo
- gigel82 6y agoNo, it doesn't, they're using GitHub to store binary builds of this closed-source project.
- mwill 6y agoThis is one of my biggest pet peeves, the worst offender is companies that have a github logo on their page, you click through, and their only repos are binaries, or documentation. It's hard not to see it as intentionally misleading.
- elmo2you 6y agoI fully agree with that. Even more, I'm not so sure that it is in accordance with Github's rules, and might (sometimes) even be in in direct violation of the license with which it is got published. Either way, it certainly feels abusive. While I did read a lot of positive things about this particular project in several of the comments, one thing just rubs me the wrong way (and I can't shake it) .. it is the short time frame (left) until the kickstarter will run out, with the clearly stated intent to not open source if it doesn't make enough money in time. That just feels wrong on too many levels. I'm quite surprised actually, that I didn't see this pointing out by more people.
- 6y ago
- deleted 6y ago[deleted]
- Klonoar 6y agoPlease, please stop comparing built in platform webviews and alternatives like Sciter to Electron. You can hate on Electron all you want (I do too) but it's a totally different beast to almost all these other solutions. It's all fun and games until you realize that to get half the junk Electron throws you for free, you'll wind up building it yourself in these solutions.
- csande17 6y agoArguments like these are a lot more compelling when they include some specific features that are missing. Too often, "includes everything you need for free!" translates to "weighs down your binary with a hundred megabytes of functionality no one actually uses."
- Klonoar 6y agoThe argument has been beaten to death by every thread on the topic here, so I don't particularly feel the need to take the bait. Your comment also implies that I'm cosigning Electron being a bloated slug of an environment; I'm not. You will never unseat it by offering a pale imitation of it in place of it, though - and these comparisons result in little more than that.
- sbergot 6y agoWhat electronjs brings is cross platform deployment. This is not a small feature.
- deleted 6y ago[deleted]
- jancsika 6y ago* PointerEvent for handling mouse, touch, multi-touch all with a single API * decodeURIComponent and unescape because my backend sometimes sends ISO-8859-1 cruft and I don't want things to break because of those stupid edge cases * web animations animate method isn't necessary but boy is it nice for a quick-and-dirty solution * those insufferable "NS"-suffixed DOM methods because yes, I do need to create SVG elements programmatically now and then The list goes on and on, running the gamut from "convenient kludge" to "the GUI might not work correctly without this." The idea of the GUI developer putting up with more obstacles in their quest for a slick-looking UI because they'd like to leverage a slick-looking GUI-toolkit has got to be an anti-pattern.
- jblazevic 6y agoWhat I find very interesting here is the QuickJS engine used in this. Developed by none other than Fabrice Bellard!
- ptrott2017 6y agoC-smile (OP) ported Fabrice Bellard's gcc code to standard C (without gcc extensions). The Sciter engine currently uses TIScript - a language c-smile orginally developed and the kickstarter proposal is to open source Sciter as is, then replace TIScript with the QuickJS engine. (TIScript is a very nice scripting language in itself that is easily picked up by JS devs) The standard C version of QuickJS can be compiled using visual studio on windows as can be seen in this repo: https://github.com/c-smile/quickjspp https://github.com/c-smile/quickjspp (Edit to update to latest repo)
- nly 6y agoVery much in the same vein as Duktape[0]. It looks like Duktape is smaller and has a more useful standard library, but is slower and doesn't support ES2020 features. https://duktape.org/index.html https://duktape.org/index.html https://bellard.org/quickjs/bench.html https://bellard.org/quickjs/bench.html
- inque3d 6y agoNot just es2020, Duktape doesn't even support arrow functions and classes. QuickJS seems interesting, but I couldn't manage to compile it on Windows (without MSYS2).
- ww520 6y agoI'm hoping Chromium become componentized. E.g. I can package WebGl component only for game or I can strip out the WebGl component for normal HTML/CSS app.
- edem 6y agoWhat prevents me from even looking at this link is the 4.5MB executable. Come on. Have you tried to download that amount of data using a spotty mobile connection?
- cosmotic 6y ago4.5MB would be on the smaller side of windows or mac software downloads.
- imtringued 6y agoElectron is much bigger than 4.5MB.
- edem 6y agoI'm not using Electron either.
- franga2000 6y agoHow about 50MB? (the current smallest possible binary using Electron)
- edem 6y agoI'm not using Electron either.
- vxNsr 6y agoMost mobile apps are 10x that...
- ulisesrmzroche 6y agoWhy are you using a spotty mobile connection for?
- pavelevst 6y agoOnly windows :(
- rk06 6y agofor now. mac and linux are in progress, so they will come as development goes on
- dazhbog 6y agoNot to worry. He already has the sciter core running on many platforms. I guess he is just adding JS and open-sourcing it if the campaign were to go well. Real shame, Sciter is one of the strongest options out there since its coded natively on each platform and the web engine is added on top. https://sciter.com/sciter/crossplatform/ https://sciter.com/sciter/crossplatform/
- ninenines 6y agoCouple of other alternatives https://github.com/patr0nus/DeskGap https://github.com/patr0nus/DeskGap https://github.com/neutralinojs/neutralinojs https://github.com/neutralinojs/neutralinojs Like many pointed out electron may be a beast but few important things like system tray, start on boot come inbuilt with electron.
- est31 6y agoThese package the operating system's native web view, which has its own set of issues like inconsistency. Sciter on the other hand is its own HTML rendering engine.
- deleted 6y ago[deleted]
- sheerun 6y agohttps://github.com/tauri-apps/tauri https://github.com/tauri-apps/tauri probably looks best now
- nine_k 6y agoBasically we have 2 days to make Sciter open-source (GPL or MIT, depending on the amount collected). I think landing a mature cross-platform desktop app framework which is not beholden to any browser vendors is a huge goal. It will have significant consequences for the desktop app ecosystems on all major platforms. Please take part.
- antagonisticpen 6y agoBasically, the HN "community" likes to complain and snob about code purity and memory efficiency, but won't support an alternative. They just like to complain and have others pay or work on alternatives.
- oscargrouch 6y ago> think landing a mature cross-platform desktop app framework which is not beholden to any browser vendors is a huge goal. So this adapts to different browser engines? I think this will play in favor of Electron. Because its important to have more control, where you can customize and adapt the customize background engine. The other thing to take into account is that Chrome itself will want to compete in this vertical, with little modifications a Javascript "application" that reuses the same browser engine you already have in your machine (BTW, I think there is something called 'Carlo' that basically achieve that). This is a really brutal market to compete, so i'm inclined to think the opposite. Its hard to propose real value here , and if you don't do it, its hard to beat more well established propositions.
- wesamco 6y agocheckout how conformant QuickJS is with the modern ES standards https://test262.report/ https://test262.report/ (especially compared with other engines developed by big teams and companies behind them) Fabrice Bellard is a genius, and I really don't like using this word.
- jmnicolas 6y ago> Fabrice Bellard is a genius Yeah, I read about a cool tech and half the time he's behind it. When I learned about the rocketman flying near an airport a few weeks ago I was surprised it wasn't him testing his new rocket engine 3d printed in his basement! ;)
- jug 6y agoProdigies like him kind of scare me. I studied at the same place as where Adam Dunkels (behind e.g. uIP and Contiki, a networked OS requiring 30 KB RAM and 30 KB ROM despite a GUI) did and he was almost a mythological figure with stories of taking multiple classes at once with ease.
- dazhbog 6y agoWow, I remember playing with contiki, protothreads and his uBasic interpreter. He said he was bored in an event and wrote uBasic. What?? I cant even Anything else u remember about him?
- NetOpWibby 6y agoI just LOL’d, that’s incredible.
- franga2000 6y agoSeriously? Bellard is behind this too? Genius is definitely the right word here!
- lifthrasiir 6y agoIt is more amazing given that QuickJS is not a single feat but a cumulation of his older projects, each of them is great by itself: - TCC [1]: Of course, QuickJS is not the first language implementation he's written. - Pi calculation [2]: Once the world record holder (and opening the era of pi computation in commodity PCs), this surely inspired his next great invention: - LibBF [3]: A good and small arbitrary-precision number library. I think LibBF is a byproduct of NumCalc [4], and he has probably seen a way to the full language implementation using LibBF later (the current version of NumCalc is indeed based on QuickJS, sharing the technique used in the current version of JSLinux [5]). [1] https://bellard.org/tcc/ https://bellard.org/tcc/ [2] https://bellard.org/pi/ https://bellard.org/pi/ [3] https://bellard.org/libbf/ https://bellard.org/libbf/ [4] http://numcalc.com/ http://numcalc.com/ [5] https://bellard.org/jslinux/ https://bellard.org/jslinux/
- sirwitti 6y agoI just pledged 150$. I'd like to see sciter becoming open source!
- thimashmerkle 6y agoNext time you complain about electron and pretend to be an open source fan, remeber the hn community is just an entitled snob crowd. Here is a decent alternative to electron yet not one will lift a finger to either sponsor or contribute to it. Now go back to your desk and pretend to be a contrarian, open source supporter and wanna be puritan.
- zmix 6y agoAn Electron alternative, that is much smaller in size. Who does not want that? Here is the chance! Only 53 hours left to go and only about CAD5000-CAD6000 achieved. Yes, I payed my share. But I got no bitcoins, so... ;-)
- geongeorgek 6y agoI'd love for this to be open source but it looks like the odds are not in favor. Why am I hearing about this now?
- luc4sdreyer 6y agoNitpick: > Note that transfer of 1GB of data produces 3kg of CO2. This is wrong, it's closer to 29 grams of CO2 for 1GB, on average. Of course it depends on the mix of power sources used. https://www.iea.org/commentaries/the-carbon-footprint-of-streaming-video-fact-checking-the-headlines https://www.iea.org/commentaries/the-carbon-footprint-of-str... It doesn't change the point of the comparison, the smaller size is still good.
- dmos62 6y agoWhat is 29 grams of CO2 comparable to? How far would you have to drive your average car to emit that much?
- qayxc 6y agoAbout a 150 metres depending on the model [1]. [1] http://www.aef.org.uk/downloads/Grams_CO2_transportmodesUK.pdf http://www.aef.org.uk/downloads/Grams_CO2_transportmodesUK.p...
- lloeki 6y agoCurrent standards emission around here are pushing for under 95gCO2/km, which seems to eliminate pure ICE. My 2008 sports car is rated as emitting 200gCO2/km (WFH so not a daily driver mind you). The average car around here should be in the ballpark of 150gCO2/km, so 29g would be 200m.
- c-smile 6y agoData taken from : https://www.emergeinteractive.com/insights/detail/does-irresponsible-web-development-contribute-to-global-warming https://www.emergeinteractive.com/insights/detail/does-irres... > And according to the Department of Energy the average US power plant expends 600 grams of carbon dioxide for every kWh generated. That means that transferring 1GB of data produces 3kg of CO2.
- ericpauley 6y agoAre we to believe that it takes 5kWh to transfer 1GB of data? My media server runs under 500W, so could operate for over 10 hours before hitting this and download terabytes of data. Even other machines needed to facilitate the connection can't explain a 1000x discrepancy. My guess is that the author confused kWh with Wh at some point.
- nudpiedo 6y agoI wonder how good the support for touch devices is. Looking forward for the mobile version as electronjs is a no go at the moment on mobile.
- divan 6y agoI wish more people knew how good Flutter for desktop already is. So far it's a competitive advantage for early adopters.
- Tipewryter 6y agoI think in Flutter, you do not define the interface in HTML. That is a no-go for me. I think HTML is the UI language that will outlive all others in existence. It would be a mistake to use something else and then have to rewrite everything in some years.
- divan 6y agoHTML is a typesetting engine. It's not a "UI language" and never has been. I don't know why would anyone think it's a good choice to do UI apps. The fact we use it on a web is a historical accident and causes a lot of pain and damage to the industry.
- adam_ellsworth 6y agothis thread is overwhelmingly positive and lacking the disquisitive nature a ycomb thread usually has. For an oss project (that isn't really OSS) that only supports one platform and is actively looking for funding?? idk
- c-smile 6y agoSciter's author here. What would be strategies in case of Kickstarter campaign will fail? In principle I can publish it for free as it is now but I definitely don't want it to be one more of abandon-ware projects that are open sourcing as the end of life. In general OS development is significantly more costly (for the author) as closed source one - for many reasons. So OS development needs steady stream of funding. So is the question above, any practical ideas?
- mysterydip 6y agoMy first thought would be patreon or another of those services where people can sponsor monthly.
- c-smile 6y agoHow realistic is the patreon schema? Say you would need to support 2-3 members team of highly professional software developers... Is patreon realistic for that?
- mysterydip 6y agoWould depend on expenses and fanbase. Personally it seems more geared towards individuals and I've seen it do well for some. Not sure if any corporations sponsor people there or elsewhere. A lot of people like sponsoring at different tiers, like on kickstarter, which might be the key to success.
- DethNinja 6y agoImho Patreon is not suitable for your case. Both Patreon and Kickstarter is oriented towards consumer goods but Sciter is a B2B product. Software-wise people use Kickstarter and Patreon for consumer goods like games where you need literally thousands of fans to be profitable. Sciter is a really good quality software and I believe it can overtake QT in future, but I got a feeling you might want to go with VC funding and possibly change the business model.
- 6y ago
- k__ 6y agoWhat do you think is the main reason these alternatives never caught on? Everyone hates on Electron and there are a bunch of commercial and free alternatives, but somehow nobody really cares.
- jakear 6y ago"Everyone hates on Electron" = a very vocal minority of HN folk don't like that Electron apps tend to be higher in memory consumption and executable size, but the majority of users don't really care about either of those. Same for the majority of project leads. What users care about is "does this thing do what I need it to do on my OS in a relatively timely manner with not too many bugs and not too steep a learning curve?". What project leads care about is "is this tech well supported, cross-patform, and battle-tested, and will it be easy to hire for?". Using established frameworks that are profit centers for enterprise-scale companies (MSFT/Google) ensures support will always be around, and the largest cross-platform bugs have already been encountered then fixed/documented. Using normal web-tech means performance will be acceptable (people have a good feel for how long things take in web), and hiring/on-boarding will be easy (we routinely have folks with only basic web dev experience building vscode and contributing fixes within a matter of hours of encountering the code for the first time). I challenge you to try to mentally-argue one of these alternatives to a superior... I think you'll find that you don't have much to say but "look a the memory consumption! look at the download size!", but I'd be interested to be proven wrong.
- amadeuspagel 6y agoHow does this compare to PWAs?
- catchmeifyoucan 6y agoIt's not entirely clear, does this support node integration? Like utilizing the file system, node-gyp modules, etc. It looks like this just vanilla javascript and displays html/web pages. Perhaps we can bundle a nodejs program alongside sciter?
- 4silvertooth 6y ago>Node.JS runtime (more or less full) is coming;
- IggleSniggle 6y agoQuickJS does have file system support, and can embed C. The APIs are different, but a compatibility layer is surely feasible.
- billfruit 6y agoDoes it use the DOM, or can it use things like D3.js that manipulate the DOM.
- c-smile 6y agoIt uses DOM, yes. And you should be able to run D3.js in it. Some browser compatibility layer will be required though. The plan for Sciter.JS is to provide minimal DOM implementation to keep it lightweight. For example there is no document.getElementsByTagName method but there is document.querySelectorAll. So if that exact method is needed anyone can add: Document.prototype.getElementsByTagName = function(tag) { return this.querySelectorAll(tag); } That's the idea of Sciter.JS: engine with core functionality that can be configured to run browser and electron applications, just a matter of adequate compatibility layer.
- thrownaway954 6y agosomeone explain to why if this was a commercial product for all these years and the _numerous_ (my god that list is impressive) clients that are using it, they need $100K to make it open source? Last I heard github is free. am i missing things?
- webmaven 6y ago> someone explain to why if this was a commercial product for all these years and the _numerous_ (my god that list is impressive) clients that are using it, they need $100K to make it open source? Last I heard github is free. am i missing things? Well, it is the author's source of income. Presumably, those customers will stop paying him if the code is released under a permissive license like MIT. I'm not certain what the financial impact would be of a GPL release.
- miki123211 6y agoThis is one of the very few small UI toolkits that seem to properly implement screen reader accessibility. I''m positively surprised.
- suyash 6y agoJavaFX is the better alternative to all of these java libraries for building rich, cross platform desktop apps.
- galaxyLogic 6y agoI wonder how this differs from https://github.com/vercel/pkg https://github.com/vercel/pkg which is a way to compile a Node.js executable into an exe on different platforms. Then build a thin server-layer to let bowser serve as your GUI. ?
- CodesInChaos 6y agoWhat's the security model behind this? What rights are granted to the application's origin beyond what an ordinary website has in a browser? Obviously you want to grant some additional rights, but I'd prefer to grant it only the minimum necessary for my application. Are third party origins granted special rights beyond what an ordinary website has in a browser? Embedding or redirecting to untrusted websites should be safe. Is it possible to block loading external content except from whitelisted origins?