43 karma · joined April 28, 2014
The outlook app will be native desktop and mobile (except linux for now).
Plus it will give the maui project more credibility, help grow its userbase. Make the framework better by providing a real world project for the maui team to benchmark, highlighting pain point, provide in-house feedback, feature request.
Electron uses its own renderer (chrome). Meaning it can't share memory with the os browser and make download size way bigger. It bundles nodejs. Again make download size bigger Nodejs needs to create multiple processes which each of them can use a lot of memory. It use a bridge between the UI and backend (to do os stuff) while JS is nowaday fast, Go/Java/C#/etc are still faster
Wails on the other hand. Uses the os browser. (Download size is reduce and can share memory) Go is compiled to native, no runtime needed. (Download size is reduce, lower on memory, run faster) Same bridge performance bottleneck, but you can perform critical stuff in Go and get an advantage.
HTML renderers are fast. Code your UI with performance in mind, use a library like svelte or solidjs combine with something like wails (or anything that will do the same thing in java/c#/swift) and you won't see a difference between any native apps in most cases. Also you gain the ability to share your UI code with the web.
> Native Android, Native iOS (KMM) and soon Desktop+Web (Compose Multiplatform)
Because the M1 Max is not less than half
https://browser.geekbench.com/v5/cpu/compare/11136167?baseli...
That includes defects,
It's one of many reasons I like new compiled/vm languages like Go, Swift, Nim F#. You got the productivity of python, but near the performance of C. User wins, dev wins and planet wins.
But your translation is inaccurate. it would be more something like:
"They were decided to occupy France like an enemy territory"
It was not the French who described the liberating force as an enemy, but that the liberating for was acting like an occupying force and didn’t see the French as allied but as enemy.
You can look at the Allied Military Government of Occupied Territories (originally abbreviated AMGOT, later AMG) for more information. https://en.wikipedia.org/wiki/Allied_Military_Government_of_...
Calling an app junk to justify is argument is unconvincing. Its still a widely used app that works as good as the competition. In the case of slack, their optimisation endeavour seems to cost them quite a lot. But sure I don't have the number. If they would have start the project in Tauri or Wails at the beginning, would that saved them the refactoring? I don't now. But we will need more team using that kind of alternative to gain the knowledge and real benefit.
At this point I rewriting a toy project from electron to wails and its great. But well, it's only a toy project.
Ins't the easy answer. Each time a dev want to ignore valid comments.
I have the following electron app running: Spotify, Figma, VS Code, Discord, Slack. They all use more than 1 helper. Consuming between 600mb to 3.5gb.
Slack is much better than it was. But I wish they switch to something like Tauri or Wails in the future.
Have one, real Multithreaded +, more efficient backend, will reduce memory and offer better performance.
Wails is also an alternative that does just that. Shared Web UI engine + Go compiled backend.
I really do like Nim, but suggesting it to do WebAssembly out of the box could be deceiving and do no good. The project is currently in the hard spot where it's hard to convince your team of using it, but because its hard they is less contribution.
As for llvm, you might be right, I'm not an expert in that particular field. But it seems there is a lot of already backed in stuff you'll have for free. Like Wasm, debugging, optimization. We'll see how the Crystal project manage to get Wasm and how llvm will help them.
I tried several time and always got stuck somewhere.
Rust that has the reputation to be hard, but is way simpler and faster to get into WebAssembly.
I wish they adopt nlvm as the default compiler, it would make stuff like that way easier and probably boost adoption.
To put a real value on the work of a heterogeneous pool of developers is way harder than it looks. One will only value the contribution of what 'he/she' values as important. But the quality of a software come from the strength of many that focus on different things. Even the person who is not really good, but is the only one that bring a 'team spirit/team work' brings value to a team.
With React you just switch your complexity. I don't feel more productive with my functional components than with my class component. I even more scared to introduce a memory leak with my useEffect than I was before.
But I do feel more productive with svelte or Blazor. That make me realize that OO vs FP is the the real vector. Reactive programming with good design is.
And if you look how you do React now with useState, useEffect and all. It's exactly a reproduction of OO, but inside a function that don't behave like a function anymore. And goes HOC for the inheritance/mixins/composition you flush down the drain.
The major difference I would say, is that you are required to use botnet alongside of node. (dotnet to compile to JS, then node to bundle with wepback or anything else)
Also, you can use the same language to build high performance backend with giraffe [2] (better than node). And build performant native application with fabulous [3].
There is an experimental typescript compilation. Which will be great, because it will make using F# less hostile in an environment where the winner takes all.
[1] https://fable.io
If the government fight hard, then lose, the opposing party will blame them for that and most likely make them win the next election. If they just do a marketing campaign telling they did the best possible, winning the next election is more probable.
And Trudeau has nothing to do with that, conservative or liberal, it will be the same strategy.
In order to make Canada more competitive, I think it should be addressed on the provincial level. We definitely need more startup to change the culture and have a place to keep the best talents. High risk funds, change in laws (so anybody can freely invest), etc.
In the American company, the managers want me to succeed because that is directly link to their success. I'm part of the team, I'm accountable, but I had more freedom.
In the Canadian one, managers want all the credit (pay+bonuses+recognition), because they are the incredible one who made the monkey produce the value. I'm part of a pool, managers will decide what programming language I'll program in, he's managing the risk after all. Oh, and by the way, it was a hard year, not all goals where reached, so they need to cap the bonuses, but the company is glad for the all-time profit record.
Of course, it’s a bit of a caricature. It surely applies to US or Canadian company. But our perceived value struck me in all my employers.
IMO its significantly superior for programming.
It's also the reason there is less key on the keyboard, it's simply more efficient. Plus, you have the benefits of having the same bindings in all the apps. Either it's the terminal, your mail client or your IDE. `cmd+s` or `ctrl+x` or `ctrl+q` or name it, always do the same thing. That can't be said for any other desktop.
I know you can configure Gnome to have emacs keybinds, but it's not the same and many apps break the users configured.
I already had a Windows Desktop for game, and for the first time in the Windows history, I really liked what they did with windows 10. They also seem to be more invest in pushing the platform forward. And contrary to the popular opinion, I do believe in convertible devices. Also, I told myself I can also run Linux for development.
I then bought an HP laptop with similar spec than the MBP, for about 500$CAD less. Seem like a real save, but god I was wrong.
The fun with Linux lasted for less than a month before I just gave up.
The consistent (across all apps and terminal), powerful default emacs key bindings on the macs is a gem for programming and productivity. I miss that all day.
The touchpad is mediocre, they are all mediocre, never saw one working as good as the MBP. Even when someone told me that they're working great and let me try it, it was clear they never work with a MBP or don't use it that much.
Native apps in general, like photo, video editing, notes etc. are more polish and perform better on the mac. Web app though is quite different. icloud.com is terrible compare to onedrive.
Resume, battery life, screen, even if the tech specs sheet says it's the same, it's not in real life.
It's hard to put a price on all that, but at the end, I didn't save 500$ in value, I lost way more than that. Moreover, comparable specs, innovative devices like the surface line, are now price about the same.
As for price, when you build a comparable system, price are similar between companies.
edit:
I guess I can't read. `We expect that Apple will announce new Apple Silicon-based Mac computers any day now. We already have early builds of .NET 6.0 for Apple Silicon and have been working with Apple engineers to help optimize .NET for that platform. We’ve also had some early community engagement on Apple Silicon (Credit @snickler).`
Still wondering for .net 5 though
and now with .net core, its a better cross platform framework.
also, you can target wasm or native image now, no need to install it on the target env.
There is absolutely no reason not to be responsive, low on memory and as powerful as a native app.
[1] https://www.figma.com/blog/webassembly-cut-figmas-load-time-...
It gave me the impression that I can build desktop app faster by reusing my skills. When it was time to build some side project, I did them in electron.
Recently I decided to learn c#, for unity initially, but I decided to try xamarin. This change all my perceptions. Not only building the core was way more enjoyable that with js/babel/nameit. Prototyping the native interface was faster, and developing the final UI was also more productive. Not to mention the final product looked better.
Comparing developer productivity is hard, but based on my own experience, I would say that it would have taken twice the time on electron the finish the same app in the same time. Compare to my other similar electron project, it load faster, don’t use cpu cycle on idle and consume ¼ of memory.
Maybe there is better idea than xamarin, but at least is seems like a better idea than electron. Now I see more electron as a fast way to have a webapp on the desktop or a fad based excuse to not learn something new.
On the other hand, calling a "cancer" is quite absurd.
I just tested it agains sourceTree, which is native, and I can't see any differences. It loads as fast, navigation and selection take the exact same time to load.
The only difference, github desktop eat 200mb instead of 60mb for sourcetree.
At the end of the day I will still use the command line, except for diff. But for a git gui, I can't really see what you mean by sluggish.
Programming, design? Oh is the keyboard as a laptop replacement?
More gear towards games though.