3,253 karma · joined March 15, 2008
Building a web app and a cross platform desktop app is a common business requirement nowadays. Electron is the fastest way to achieve that with a small team or if going solo.
In many cases your only other feasible alternative would be to use Chromium Embedded Framework or system web views. Those two let you reuse your web app UI but are progressively more work than Electron. Those options don't require packaging a node server though.
PS. I don't think Slack is slow because of Electron. Other Electron apps like VS Code are fast.
Regarding third party libraries, with prop types you are effectively writing your own bindings to the parts of those libraries that happen to go through your props, except you fail far away from where the error is produced.
Prop types are also a very ad-hoc solution to a very general problem. Why are props for UI components especially deserving of type checking? What about the rest of your application code? Event your components' state is not worthy of type checking?
With JS or typed-JS languages like Typescript or Flow you will never get full type safety (Flow is better at safety than TS if you're interested). For me the solution is to either go 80% of the way for 20% of the effort with those languages, or go full Scala.js or something that is actually type safe. And the latter has many goodies like https://github.com/lihaoyi/autowire to make API calls typed.
Besides, some of that broken JSON data might never even be passed through proptypes (e.g. if that data lives only in a component's state).
Also, there are compile-time solutions to this in some compile-to-JS languages, e.g. like https://github.com/lihaoyi/autowire for Scala.js
- HEADLINE: Saner App Switching
- DESCRIPTION: every other time I alt-tab I am baffled by what window gets focus. I have to actually think to use this feature. Compiz is no better. OSX has this done right. Another somewhat related problem is sometimes a window is not raised when expected but I'm not sure when exactly that happens. Something like "if an app is already open and you try to launch it" but more subtle than that.
---
- FLAVOR: Ubuntu Desktop
- HEADLINE: Universal Ctrl+W command to close windows or tabs
- DESCRIPTION: Somerhing I took for granted on OSX that I thought was coming from Linux, but apparently not. Yes, you could remap the close shortcut from Alt+F4 to Ctrl+W but that closes the window in browsers instead of closing the tab. And some apps don't react to this key binding at all.
Another thing I miss dearly is a universal shortcut to open an app's settings (Cmd+,) in OSX.
---
- FLAVOR: Ubuntu Desktop
- HEADLINE: Broken Apps in App Center
- DESCRIPTION: Even apps that are featured (on 16.04 which is latest LTS) like Maps have tons on 1-star ratings because their core features are broken. I installed myself to verify. That's just embarassing compared to other app stores.
And that's despite crime being a very hard problem to fix. The privacy problem we're talking about here is actually trivially fixable with legislation alone.
EU countries are much more uniform than the rest of the world in their level of welfare support and social development (e.g. UK and even Portugal are much more alike than say Bangladesh and the US).
Besides, there has been a lot of movement from poorer countries to richer countries within the EU, and many people in the richer countries are angry about this. See Brexit etc.
I don't see how adding regulations to ensure safety of critical infrastructure could possibly reduce developer wages. If anything, they'd be increased because now you need more of them and they need more skills.
You can immediately become Canadian permanent resident by merely LOANING the province of Quebec $800K for five years. At current interest rates your actual monetary loss would be ~$80K.
You don't even need any qualifications. You don't even need to live in Quebec afterwards, you're free to move anywhere.
Oh and you can become Canadian citizen after three years of living in Canada, although because Canada does not reliably track people at its borders you can just fake passport stamps and other stuff. Recent revelations showed that people have been doing that at massive scale.
You can google how CRA actively avoided auditing foreign buyers "for fear of racism allegations" (yeah right) or how people bring hundreds of thousands of dollars in paper bills on themselves and their children, paying only $2.5K if caught (cheaper than Western Union!).
Or the latest Vancouver 15% foreign investor tax designed to appease the population, but wholly ineffective because it relies on self reporting which no one ever checks and allows for other obvious loopholes. Much better proposals were ignored in favour of this purposely flawed one.
It's amazingly fucked up, I'm surprised Canadians are taking it so willingly.
I wonder if you mean standard-duration animations or their really-slow variations. Adding Shift to any OSX hotkey that involves animation will slow it down 20x or so (e.g. Cmd+Shift+F3). I guess it was originally introduced for show-off purposes, but it's weird how that still exists.
Intent could be for example to insert this new item as a first child of that other one, or to move these items to a position right before some other item, or to set font size on this item to 4.
The data structure was a tree of item objects linked via next/prev/children/parent. Automatic conflict resolution works wonderfully in this case.