Originally posted by fuzz
View Post
Announcement
Collapse
No announcement yet.
Electron Apps Are Bad, So Now You Can Create Desktop Apps With HTML5 + Golang
Collapse
X
-
Originally posted by cybertraveler View PostDo you see the language situation improving in the future?
WebASM - there's a growing number of languages that you can now compile into WebASM. If the WebASM API is expanded, we may be able to use that as an alternative to Javascript. Not ideal, but an improvement.
On Apple systems devs are now frequently using Swift. I haven't tried Swift, but it does look far nicer than C++ (which is the closest equivalent to it). Unlike Go, Swift isn't garbage collected, so I think it has potential for being used for system programming and game engine development.
- Likes 1
Comment
-
Originally posted by cj.wijtmans View Postwhat are you even on about? Server has no clue about client time display settings. I have mine to some ISO standard instead of dutch time format. It doesnt have to be a UNIX timestamp. it could be UTC time format. As long as there is an element that converts it to the clients native format.
Code:new Intl.DateTimeFormat().format(new Date()) -> "11/02/2019" new Intl.DateTimeFormat('en-NZ').format(new Date()) -> "11/02/2019" new Intl.DateTimeFormat('ja-JP').format(new Date()) -> "2019/2/11" new Intl.DateTimeFormat([], {year: 'numeric', month: 'long', day: 'numeric'}).format(new Date()) -> 11 February 2019 new Intl.DateTimeFormat('en-NZ', {year: 'numeric', month: 'long', day: 'numeric'}).format(new Date()) -> 11 February 2019 new Intl.DateTimeFormat('ja-JP', {year: 'numeric', month: 'long', day: 'numeric'}).format(new Date()) -> 2019年2月11日
- Likes 1
Comment
-
Originally posted by cybertraveler View Post
In some ways we already have some features like that in the browser. For instance you can do zoom on mouse hover with CSS:
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
There is no javascript required and thus no garbage collector + interpreter/JIT step. It's some (hopefully) well designed Rust or C++ code pre-compiled to machine code, handling the transformation.
I bet there is a lot of stuff done in the general-purpose JavaScript language that could be replaced with some nice markup language and special elements (like your <time> example).
Comment
-
Originally posted by michalatom eats 30 of CPU time on my i3-4030 with 2 files opened. on the other hand, Visual Studio 2017 is below 10% when I just edit project files (of course while compilation it eats much more, but we can not compare it, because atom doesn't compile anything except it's fucking js.). recently I had to start using a postman. I wondered why this tool is so fucking slow. I wasn't surprised when I findout that it uses electron. this "technology" is cancer for destop apps.
Electron is a framework that provides a (massive) runtime. It supports for javascript code via nodejs which uses Google's V8 JIT engine. You don't have to write you code in javascript in order to use Electron, but since most people do lets ignore that for now. The inherent runtime performance hit for desktop apps from is something that should only be noticed on benchmarks not in actual use... even when using it on an slow i3 running under 2Ghz. VS Code is a good example of how practical Electron apps can perform. It is written in typescript and runs via v8 engine within nodejs within Electron. Electron has not always performed well. Electron is flash for the desktop was well written post with mostly accurate research. Things change quickly though, in 2019 performance is really not bad but still can be improved.
It is extremely ignorant to say that Electron is bad because atom and postman is not written well. I would argue that electron is theoretically one of the best truly cross-platform GUI frameworks that exist today. The remaining resource hogs comes from the underlying components used mainly nodejs/v8. Instead of optimizing code specifically for nodejs/v8 (which can solve many problems at cost of development time), it would be better IMO to replace it with other parts. The only project that I know of currently is Positron that unfortunately was discontinued. We might see more projects in this area when web-assembly becomes more used.
Javascript is arguably the worst designed popular language. The insane amount of development time from talented engineers has improved performance and semantics (native and preprocessors or supersets) which allows developers to do really cool stuff with it. The loose design at least allows it to change very quickly with backwards compatibility.
From a user's perspective I shared your frustration from 2013 H4 to 2018 H2. Using slack for multiple organizations ~10. From a developer's perspective I can't really complain, I wasn't paying for any Electron based apps (slack, vscode, etcher). I am a huge fan of Qt applications (vlc, telegram-desktop, teamspeak, battle.net etc). Personally find the cross-platform support is better than it's rivals but from developer point of view (single source project) you can't compare a desktop GUI lib to Electron at least not now. The ease of use (low cost) and portability is unmatched.
Back on topic with regards to Lorca, I want to encourage any new project but it's not easy. Relying on the system's browser is not really viable IMHO.
- Likes 1
Comment
-
Electron apps are bad because HTML5 on a desktop is bad. You can replace JavaScript with Go but that doesn't solve any of the issues in terms of user interface consistency, integration, accessibility support, ease of localisation and all the other problems that make it a terrible idea to begin with.
- Likes 1
Comment
-
Originally posted by jacob View PostElectron apps are bad because HTML5 on a desktop is bad. You can replace JavaScript with Go but that doesn't solve any of the issues in terms of user interface consistency, integration, accessibility support, ease of localisation and all the other problems that make it a terrible idea to begin with.
Comment
Comment