I working on a project using tauri with htmx. I know a bit uncommon. But the backend part use axum and htmx. No Js/Ts UI. It's fast, reliable and it work well. Plus its easy to share/reuse the lib with the server/web.
Even if its cumbersome, it's still a win-win for them to use it.
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.
You must break down the part that led to that reputation.
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.
To be more accurate, it needs one variable.
- Butt(s) per feature
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.
I didn't read the NY Times articles since it's paywalled.
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.
for my work, vscode take between 1.5 to 2.5gb. Nothing has change since start using it 4 years ago, and my experience is consistent with my coworkers. I keep using it because it 'feels' the best overall. No magical issue will fix that, node is memory hungry as is java.
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.
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.
because the 15x programmer that is slowed down to 1.3x because the 50x added 80x of technical debt will leave the company. So the company will only have 50x that leave as soon as there is a need to fix their own code.
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.
Not sure if you are sarcastic or not. But if you look at how you develop windows app (vb, winforms, wpf, uwp and now maui) or Mac/iOS (from mvc, mvvm, and now mvu) and not forgetting Delphi. I find it far from stagnant.
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.
Like you said reactive programming and OO are not exclusive.
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.
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.
This is a personal conclusion having work in both, some US and some Canadian based companies. What I realized, the reason we are pay less in Canada, is caused by our perceived value from management.
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.
On macOs, it's the same shortcuts as Emacs. Except the `ctrl+x+[other]` uses the command key.
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.