Most devs I know who hate native apps are either web devs trying to embed web tech into everything they touch, or they just hate Apple.
Most users don’t care. What they do care about is performance, and native is usually the easiest way to get there.
For your AI workflow questions, it depends. With or without AI, those decisions depend on the organisation’s direction, the team’s capabilities, and their preferences. Did your org have a single answer for the best programming language, framework, or workflow even before AI? There was never a single right answer to any of that.
I hate native apps. There are use cases better suited to native apps but often it's just not what I want.
You have little to no control over privacy, tracking or advertising compared to the web. That's left to the original developer and there's nothing you can do about it.
You can't do things like disable autoplaying videos. Often you can't even copy text without taking a screen shot. On a phone it's also much easier to zoom random parts of the screen in a browser compared to a native app.
There are legitimate reasons to prefer the web to native apps.
Users absolutely care, people hate downloading random shit on their phone they don't want but are forced to.
What has always been true is that users often have no choice or voice to express their actual desires. It's not like there is a public alternative here (when there should be).
Not sure if you’re speaking from experience or just being theoretical here. We’re using Rails and it’s been great. Maintenance and upgrades have been a breeze.
All this static vs dynamic stuff doesn’t really matter anymore. AI doesn’t care. You just need to close the feedback loop with tests, linting, a compiler, or whatever else gives it a clear signal.
At least within my circle, that’s not really the case. Instead, what I’m seeing is more of a hiring freeze, with the budget being used to empower existing employees through AI. Which I think is a more reasonable take.
That's often layoffs in disguise. If you want to cut 10%, but you don't want to do it as a single layoff, because that's expensive, can trigger certain laws depending where you are, and might disrupt teams, who do you cut?
Instead you can do layoff by attrition, you stop hiring, and you don't backfill seats, as people naturally leave or get pip-ed, the team shrink, you don't rehire into the position, and in a year or two, you cut down by 10%.
Also, I wouldn't trivialize a freeze in hiring growth, it means to get a job you have to wait for someone to retire, and also wait for people looking for jobs with more experience as they're more likely to fill the roll to also retire. Basically there's now way more demand for jobs than hiring, so that will drive compensation down for those currently employed.
Adding on to your point about attrition: if internal promotions in engineering are decided by your ability to be a force multiplier, to facilitate cross team collaboration, mentor and help others to skill up, how do any currently employed engineers demonstrate that with no one new to mentor or train? How do you collaborate when teammates work with AI tools more and coworkers less? Would they just have an easier time getting into a higher responsibility role looking elsewhere?
> We can't hire or give anyone raises, but we will expect you to be more productive via throwing money into the slop void.
i see your point and i want to tell you it's pretty much the same with cloud computing, which is so much more expensive than running your own hardware... and yet nobody's really questioning cloud computing (except the oxide people, but they're still tiny)
the company i work for could probably spent half its yearly cloud bill in hardware and be fine for 3-5 years.
guess who discovered the same thing and booted google cloud off their books? dhh
I’ve made a similar point to my colleagues recently about cross-platform vs native apps. If we’re using AI anyway, do the arguments we made years ago still hold today?
I know some people might disagree, mainly because AI isn’t a new architecture or a new programming language in the traditional sense. But I still think it’s worth revisiting the assumptions and having the discussion.
Put aside the usual web-dev perspective for a moment. As developers, we build for our users.
The web and native apps serve different purposes. Users do not use a website the same way they use a mobile app, and the trade-offs are different.
I’m getting tired of web developers failing to acknowledge that and treating web technology like a hammer that needs to be applied to every nail they come across.
And especially when people say “the web”, what they often really mean is Chrome and the Chromium ecosystem. A lot of web apps barely get tested properly on Firefox or Safari, which only reinforces Google’s monopoly over the web platform.
Yes, app stores have their problems. That does not make the web the right answer for every product.
For a lot of companies it is not a factor because they have free app complementary to their services.
Main point is that even if you could slop out some code to have a mobile app there is enough of additional burden that makes it not really worth it when you can get away with web version that is good enough and you don’t have to care about all that bs coming with publishing and maintaining a mobile app or to be specific you need to maintain exactly 2 apps.
Depends a lot on the token budget I think, different situations for established businesses or strapped founders vs side hustles or hobbyists. So in a way you outgrow Rails or frameworks like it once you can afford a software factory on autopilot 24/7.
The AI features arrived with the recent v2 release. Raycast originally became popular as a better Spotlight replacement. As you can see, the idea was never entirely original, since Apple and other apps already offered many of the same features. Raycast’s strengths are its extensibility, lightweight design, speed, and excellent UI/UX. It’s a well-polished app.
That was Raycast v1, though. I don’t like the direction they’ve taken with v2, so I uninstalled it and switched to Tinycast.
Terra is in a weird spot for me. I used to run it as my main driver at medium/high, but after Luna's price drop and some experimenting, I switched to Luna xhigh. If I need extra juice, I just use Sol. Intelligence-wise, Luna xhigh is more than good enough for me. Speed is the only downside. Terra/Sol might be similarly intelligent, but they can get things done faster.
Looking through the replies, the theme seems pretty clear. Everyone has their favorite distro, which is great btw. But that is the issue imo.
If you just want something stable and boring, Linux is just not it. Every distro has its own goals and target users, so a lot of the effort gets spread across the ecosystem.
With macOS or Windows, for better or worse, everyone is working on the same platform. So more people are working on the same problems. With Linux, everyone is kind of doing their own thing.
It is basically the same Android versus iPhone argument. More choice and freedom on one side, more consistency on the other.
Linux is just a kernel. It is so stable and boring that you can oftentimes update the kernel in-place, without rebooting, and nothing will break.
> It is basically the same Android versus iPhone argument.
Maybe, if you've never used desktop Linux? Android and iOS are both advertisement-ridden locked-down hellscapes. The false dichotomy of openness and polish is exactly why Linux is attractive to people; you can absolutely have both. Obviously Google and Apple don't want you to think that, but it's not any more wrong today than it was in 1995.
There's plenty of "stable and boring" distros: Debian, Alma Linux, Aurora, take your pick.
As for effort getting spread across the ecosystem, how does that matter, as long as everything works? Is there anything specific that's below par that you think that needs that concentrated group effort? If so, what is it?
> With macOS or Windows, for better or worse, everyone is working on the same platform. So more people are working on the same problems
No one's working on the same problem on these platforms, as they are proprietary closed-source platforms, so you can't really contribute to them. Unless by "working on problems" you meant making apps, in which case, people are making apps for Linux too. And guess what, you can run most Linux apps on most distros. Like say, LibreOffice or VLC or Firefox etc all work on every single distro out there. So I'm curious which problem(s) do you think Linux people need to work together on.
> If you just want something stable and boring, Linux is just not it.
What? I get the other arguments but I use Linux because it's stable and boring. I don't want the hassle of updates to Windows 8, 9, 10, 11 (or whatever is current now) or OS X updates breaking things ("Yay, they've removed another feature!").
Yeah, when CentOS got eaten, moved to AlmaLinux. No complaints. It works. I also use Slackware. Nice and boring. Compared to macOS on my MacStudio… exceedingly boring and stable.
Any mainstream language can be reliable. Java is a good choice for greenfield projects when it fits the organisation’s existing stack, expertise, or the broader industry ecosystem. Just like any other language.
Banks, telcos, etc. aren’t monoliths either. They use plenty of different languages depending on the team, system, and requirements. Java isn’t inherently the choice for greenfield software just because reliability matters.
I prefer to use Mise for everything nowadays. homebrew bootstrap specifically. A lot easier to manage all of my packages in one single file, homebrew, Node packages, etc.
I migrated our monorepo to use mise with bootstrap and mise-tasks. I was able to delete a whole heap of setup scripts and our brewfile. First time setup is extremely simple now and re-running for updates is blazing fast.
It’s a reasonable tradeoff. Shopify uses Rails, and there’s been a long history of discussion around E2E testing in the Rails community.
In recent Rails releases, system tests, or E2E tests, are no longer enabled by default. The short version is that they’re significantly slower and more brittle. Basecamp also removed most of their E2E tests.
I don’t know what Shopify does internally, but my guess is that they’ve taken some of those lessons and are trying to apply the same thinking to mobile development too.
On theweb, not surprised that Rails switched from kind of encouraging people to use as many browser-automated tests (under whatever name) as possible , to trying to discourage people from using any. Rails way really likes being absolutist.
I work in Rails too, I try to keep them to a minimum, but I definitely try to do at least one happy-path test of any major page (which includes automated accessibility audit), going without them at all seems insane to me.
Most users don’t care. What they do care about is performance, and native is usually the easiest way to get there.
For your AI workflow questions, it depends. With or without AI, those decisions depend on the organisation’s direction, the team’s capabilities, and their preferences. Did your org have a single answer for the best programming language, framework, or workflow even before AI? There was never a single right answer to any of that.
reply