16 ms·
Write code for the web
- axegon_ 3y agoI spent most of my career in the gaming industry(apart from the last few years really). To be more specific, mobile gaming. A very lucrative industry but that's a whole different topic. Either way, back in the days when I started, Adobe Flash played a big role. The games the company was developing were banking heavily on Flash: all menus were built with Flash and it worked as a charm on both Android and iOS. At that point Apple had already put the final nails in the coffin but the company I worked for had managed to figure out a hack to keep using it and it worked up until mid 2017. I guess it was around that time Apple figured out the hack the company was making to keep it going. That entire fiasco caused several big shock waves around the company: it wasn't a small company, so there were a fair bit of Flash and ActionScript developers. Also there were several EOL games which the company wanted to keep since money was still flowing in through them so a large amount of people had to deep dive into legacy codebase no one had touched in years, just to re-make the menus using something else. My point is, Apple has a long history of wanting to keep it's ecosystem closed, which is a huge problem for both large companies and even more so for small publishers and indie developers. It is one of the many reasons I've hated Apple with a passion for as long as I can remember. Meanwhile I am working on an app with several friends/former co-workers and we opted for Flutter. Since I am the only one who has any experience with smartphones in general, this seemed to be the best candidate. For one, I know Dart more or less - I'm by no means expert in either Flutter or Dart but I can navigate myself with ease and documentation is fairly good. Which is enough to be fairly productive. Also Dart is an OK language overall - at least you know what to expect from it, unlike js or ts. Having said all that, I won't lie, I have this fear in the back of my mind that at some point Apple will try to lock flutter out of their ecosystem and be like "Tough luck, rewrite it in Swift, deal with it". Which does sound like a very Apple thing to do, even if you are the most die-hard Apple fan. The situation is bad, there's no way to sugarcoat it. But I'd argue that even with everything I just said, the web is in a worse state. If we roll the tape back to when I wasn't even a teenager, I learned basic HTML by simply looking at Yahoo!'s source. Yes, there weren't fancy animations or shiny colors and whatnot but it was simple enough to get it going. These days, it's an absolute nightmare. A simple "hello world" page adds an ungodly amount of node_modules to your drive, long, slow and convoluted build systems, horrible setup processes and horrible development experience. On the subject of the app we are making, having a few microservices, a few databases, a set of docker images, a docker compose setup for development and kubernetes with ingress for deployment is a lot of work as it is. We can get it up to speed in a matter of a few hours since we have a total of 25-30 years of experience between the 3 of us. But if we have to add web to the equation(which personally I would not mind, considering I'm more likely to use a computer rather than a phone), it would be a catastrophe. We'd need to rope in at least 3 other people to work on that and keep in mind that this is a project for our spare time and we are investing our private time and money. The web is simply not feasible. In the early 2010's when I was coming out of uni, I would have preferred to work with web out of the two options - you had to endure Apple's products which I wouldn't have wanted to spend money on and you had to endure Java for Android. No way I would want to deal with either of those. But these days, I'd do anything to avoid the web, simply because the web is an absolute mess - I'm far more willing to risk shooting myself in the foot than having to deal with it.
- zshrc 3y agoApple provides thousands of APIs to make developing on the platform easier, has created their own programming language that integrates nicely with the platform and has a fully integrated IDE that works with both above. Sure, buddy… They don’t care about you unless you develop for their platform. And who can blame? The above is a terribly expensive and timely investment.
- officialchicken 3y agoMy only concern is that standard would easily place Oracle as the winner of most corporate care for developers in a terribly expensive and timely investments!!!
- pjmlp 3y agoActually I have my Oracle account since mid-1990's, and in some respects for DB development tooling, only MS SQL has feature parity. Specially for applications where the DB is a platform on its own.
- mouse_ 3y agoYou put this better than I could have. Extended support can in fact be malicious. Appreciate your contribution.
- blitz_skull 3y agoLol. Have you ever used their “IDE”? My guess is you haven’t based on the tone of your remark. Apple has been developer-hostile for years, and OP was just synthesizing their thoughts around this and TBH I found the conclusion to be fairly nuanced and apropos.
- romanovcode 3y agoI still can't figure out how to format on save in Xcode. Or format in general?
- Someone 3y ago
- dartharva 3y agoJust here to praise the literary quality of the article. It is quite well-written and has a lovely flow, especially as tech-based blogs go.
- mnvrth 3y agoThank you for saying that! Such feedback is very encouraging, much appreciated :)
- WarOnPrivacy 3y agoI think some of the processes you include nudge your presentation in a positive direction. ex's: Google is an example where I never grieved much because I understood the dynamics ... With Apple I didn’t understand the dynamics. The point where I disgustedly gave up was when I found out that while I was jumping all these kafkaesque hoops, instead you could just go to Apple's own web music player, type MusicKit.getInstance().developerToken in your browser console, and you’ll get an unrestricted root token for free! Eventually, this is what getting-to-usable-tech looks like. I think it gets withheld from the narrative because 1) people wrongly heap damnation on wrong roads and 2) some folks who missed some particular wrong road will demean those who ran into it. And there's this... This realisation has made me happier since I now know my place. I can like their products without wanting to develop for them. ...which neatly defuses some (pointless) stigma tied to helpful errors & failure. I think it makes healthy thinking more approachable.
- mnvrth 3y agoI believe that there is too much negativity going around, and I try my best to nudge things in a positive direction, and reading your comment I feel happy that it now that is also being reflected in how I write. Thank you for the comment! Much appreciated :)
- lagniappe 3y agoApple users are conditioned to pay for things. Apple applications have higher buy rates than other platforms because outside of HN the average Apple user is less capable and less likely to pirate or need "Free" to entice their attention. I don't think anybody writes software for Apple thinking that they "care" any more than Google or Microsoft.
- aetch 3y agoMost users are incapable, that’s why they’re buying and using other peoples software. How much is your time worth? Apple does happen to capture the market of users that are able to pay more to save more time, though.
- brookst 3y agoSame concept with more charitable framing: Apple has built an ecosystem where users don’t want to mess with tech and are willing to pay for value. But yeah, there is no morality here, it’s just business.
- mrweasel 3y ago> Apple users are conditioned to pay for things. Not that I entirely disagree, but that doesn't seem to be consistent with the complaint from app developers that they are unable or barely able to cover their development cost from app store sales.
- skydhash 3y agoEveryone is conditioned to pay for things. Either in the form of taxes or directly. Everyone is used to recccurent payments (internet, electricity, water,…). Google, Facebook have been the biggest proponents of software in exchange of your data instead of money.
- jahewson 3y ago> the average Apple user is less capable Do you actually have any evidence to back up this claim? I’m assuming the real reason is because the average Apple user has a higher income than the average non-Apple user.
- Quothling 3y agoI once had to setup an Apple developer account to have one of our municipality apps shown as ours. I'm not sure why that was considering all our other apps never needed that, but it was what it was. It was a pretty terrible experience. First I needed an Apple account, and since I didn't really want to use my private one, I needed to create one for work. I couldn't create an "organisation account" so it was tied to me. Luckily we had an old iPhone waiting to be thrown out, so I could use that. Then I had to wait for days to have Apple confirm who I was, but this was basically just Apple calling the person I had listed as my boss and then having him say yes. I hope they did more research than that, but I'm not sure they did, and the people who called us were even worse at English than us so it was hilarious to say the least. Then we had to set up payments, because for some reason you need to pay money to have an Apple developer account. Whatever, in the budget of an entire city of 60.000 people, that's not even going to show up anywhere, right? Well... Since it's a foreign subscription and since Apple has no way of doing this as a B2B purchase that can be easily registered with our local tax agency, it had to go under yearly reviews. It was also only possible to pay with a credit card which again tied it to something the organisation would need an actual person to renew and since organisational credit cards are tied to people, and since people change jobs, and since you need to be in actual human contact with Apple to change owners... well you can imagine how much fun that was. This was some years ago, so maybe things have changed, but out of any of our 300+ enterprise IT solutions that I ever worked with, Apple was the only one that was this horrible. To be fair, I'm a developer, I'm not sure how I ended up with the task and maybe these things are simply more common in the operations side of IT than I know.
- coliveira 3y ago> This was some years ago This is probably worse today, they're all the time throwing more roadblocks to avoid people to publish apps in their "ecosystem", except if you're a large US company that can easily handle the paperwork.
- bmitc 3y agoI have never understood how Apple gets away with it and even more than that gets a huge amount of love. Whereas, if Microsoft just looks at you wrong, pitchforks are out. I'm not cheerleading any company here, but it has been frustrating in my career where people absolutely refuse to touch or even consider anything Microsoft related but love their Apple computer. Apple is probably hundreds of times more agressive, more stubborn, and moat building than Microsoft. Microsoft's dev tools are some of the most open in the world for a big company, certainly more so than Apple and Google.
- pjmlp 3y agoFor everyone that comes into Apple as an outsider, specially after iPhone and OS X saved the company, I advise getting "The Cult of Mac" https://www.goodreads.com/en/book/show/1341309 https://www.goodreads.com/en/book/show/1341309 Those are the developers and users Apple cares about.
- macNchz 3y agoObviously I can’t speak for others, but I was, for a long time, a part of this world (parents bought a Quadra as our first home computer in 1993, I had a colored iMac in 1999, I released a few crappy freeware OS X 10.2 “Jaguar” desktop apps as a teenager, had an early iPod and an early iPhone, shipped a couple of iOS apps, watched keynote livestreams, actively participated on the MacRumors forums etc etc), yet I have become increasingly frustrated with Apple’s approach and have switched to using Linux on my primary (non-Mac) computer. I don’t feel like Apple cares about my business in the slightest. Macs have become increasingly locked down in both software and hardware, and the level of control Apple wants over what end users can do with their hardware feels more onerous than ever. When that book came out, being a Mac user felt like being part of a fun community of oddballs (I was one of like 5 or 10 in my school of 600), which is absolutely nothing like today.
- lioeters 3y ago> increasingly frustrated with Apple’s approach and have switched to using Linux on my primary computer That's what happened to me too. In my youth I grew up with a Macintosh, and it was a lovely machine, a marvel of design and technology. You could tell the creators were inspired, intelligent, artistic. They cared about the user, the person using the computer - which included programmers. As the years went on, it seems Apple got consumed by a different kind of people, it gradually bacame another soul-less corporation with profit as its main motivation. They still make good(-looking) products, but riddled with user-hostile design and dark patterns. The iPhone is not a computer in the full sense of the term, it's an appliance where the user is just a consumer. Eventually I gave up and switched to Linux, which I had been using off and on the entire time. It's not an artistic computing experience, but there is a fundamental respect for the user. The web is similar, despite the on-going enshittification, it feels like the original spirit has managed to live on and even thrive.
- ahmedfromtunis 3y agoEarly on, I made the choice to not to invest in learning native mobile development. I focused all my limited time on the web, and I think that, for once, I made the right choice. Today, one can build amazing stuff for the browser. And, in my very humble opinion, the vast majority of apps should've been WebApps — except for maybe Uber, Google Drive, and games. I worked in the journalism business, and, in my country, the early 10s were filled with media outlets spending so much of the little money they had to build mobile apps. I was the sore thumb that rejected such trend. I knew very well that the quality of most of these apps would be questionable at best. And of course these companies won't be investing regularly in updating their mobile fronts. And that's exactly what happened: they're stuck with apps that are barely maintained, most of which looking like ancient artifacts from a bygone era. Because that's what they are.
- host0 3y agoPWAs, especially those built with an offline-first approach, are so much closer to the native experience than those from half a decade ago. However what concerns me is Google's and Apple's incentives to help them get better to a point where they can rival native apps which could hit their bottom line.
- maxlamb 3y agoI think you meant Google's and Apple's incentives to make them (PWAs) worse...
- px43 3y agoMy understanding is that there is a lot of political power inside Google (from the Chrome side of things) working to ensure that PWAs are the primary way that users interact with their phones. It's definitely a point of contention, with pressure on both sides, but there is a balance there. Apple on the other hand is only incentivized to funnel everyone through their App Store, and for some ridiculous reason, app developers use this to justify going all in on native apps, which I think is what this article is addressing.
- ramesh31 3y agoThere really is nothing like the web. Having spanned the gamut of native development, I can say confidently give me my HTML and CSS any day of the week. Concerns about framework churn and build system complications are nothing in the face of dealing with a locked down platform that simply will not allow you to do something you want to do.
- avidphantasm 3y agoWhat hole has this guy been living in? It took him a decade to figure out who Macs are primarily for? Hasn’t that been known since 1984?
- codegeek 3y agoSometimes, we forget how open the original web/www was and even today, how open it is overall compared to the "app ecosystem" monopolized by Apple and Google. Yes, there is "cloud" but nothing stops me from renting a server and hosting my own stuff. That didn't work out ? Np. Get it out of there and rent another one. Yes it may have "lock in" and not that easy but it's not impossible. With the whole App ecosystem, you only have 2 choices and you are at their mercy. Literally. I personally would never build an entire business around an "app". Never. I may have an app as a small supplement if at all and that too if my audience really demands it. I hate products that force an app on me when I am on a mobile device. No Thanks. Heck, bring back the whole m.website.com thing but I prefer to avoid the whole app ecosystem.
- mdaniel 3y ago> With the whole App ecosystem, you only have 2 choices and you are at their mercy. Literally. And if it's the two I'm thinking of, one of them is a customer-service black hole with a ban hammer, so overnight one could find oneself in the "beg the front page of HN for help" camp for any reason or no reason I say prayers that the new sideloading thing for the EU will inspire similar calls here in the US, but also I'm super cognizant that such a thing would require a sufficient mass of folks who know or care what "walled garden" or "sideloading" mean :(
- coliveira 3y agoWriting for the web would be great if you didn't have to learn a new framework every six weeks because people will not stop coming with new ways to do the same thing over and over again.
- righthand 3y agoNot even new ways, just old ways repackaged and reorganized based on a developer’s ability to get 15 minutes of fame.
- javcasas 3y agoJust go with react bro... Now seriously, React has been working fine for 10 years. If you need to chase something different every 6 months, I'm inclined to say you are doing something wrong.
- marcosdumay 3y agoYou don't have to do any of that. The older options never go away, and don't stop working unless they are so complex that they require a working npm-enabled requirements solving. (But then, if they do that, they are best avoided anyway.)
- pacomerh 3y agoI haven't needed to learn a framework in 5 years. What you're describing is FOMO developer, which is not a good idea anyways.
- mark_l_watson 3y agoI like the author's healthy attitude towards large corporations - basic modern survival skill. If I had my way, I would not have to install any apps on my iPhone or iPads but platform limitations make this a requirement. I noticed that on Safari, the X/Twitter web app is not playing videos, even after I turned off Lockdown Mode for X. Is this Apple's fault for a platform inconsistency or X trying to force users to install their app? I would like to know. I specialize in deep learning and LLMs, but I have also always enjoyed web development. What holds me back is how complex the tooling is. That said, someone I know has been writing a lot about ClojureScript + Dart so maybe I will give that a try. I would like to find a simple stack for web apps that I could learn in a few days and that was well supported. Any suggestions?
- jahewson 3y ago> ClojureScript + Dart Ignore people who write about finding the perfect stack. The perfect stack does not exist and it is not requisite for shipping great software that real users value. Much of web development consists of knowing the browser well, and web.dev is a great resource for that. Beyond that just go and learn React + TypeScript, the new react.dev is great. While React is not perfect it’s such a good paradigm for creating UI that even Apple copied it when they created SwiftUI. Grab yourself Vite and get coding. The number one thing that I would recommend is to really go and study those resources. Start from page one of the docs and work your way through. There’s not much that you’re going to learn in a few days though, frontend work is hard for a good reason.
- mnvrth 3y agoI would second that. Frameworks are secondary. React + TypeScript was the key (for me at least). After that it is just learning web standards - starting with CSS, HTML, JS - and then moving on to Canvas, WebAudio etc if one desires.
- mark_l_watson 3y agoThanks for the advice jahewson and mnvrth. I have developed a few SwiftUI apps, so React may be similar.
- quantum_state 3y agoThis provides yet another reason for a FOSS phone platform.
- fsflover 3y agoWhich already exists. Sent from my Librem 5.
- LispSporks22 3y ago> One would think that of all the leetcode certified staff… I’m sure they left shortly after finding out all they’ll actually be doing is putting fields in structs and waiting on CI/CD to see if it worked.
- cod1r 3y agoI really like the sights and sounds section on your website
- mnvrth 3y agoThank you! :) What has really made me happy recently is realizing the web now has at-par capabilities, and I can make all sorts of cool AV stuff that works straight out in the browser. It's heady really, the possibilities, I'm excited to learn more and make more of these.
- AshleysBrain 3y agoI don't think it's true that developers do nothing for Apple. If there were no third party apps for iPhone, Apple would sell many fewer phones. I suppose many could theoretically move to the web, but then the point still stands that third party apps are still making the iPhone much more worthwhile to own. With proper competition, OS makers work hard to attract developers - think of Ballmer's "developers developers developers" clip from back in the day - as they recognise that developers add value to their platforms and help sway consumers. The trouble these days is there is no meaningful competition. No matter what Apple's rules are, developers are obliged to provide something for iPhone, and Apple can rest assured there is negligible chance of a third mobile platform gaining traction. Apple know this and through their strict policies have imposed a cruel reversal of the situation: they claim they are doing developers a favour by deigning to allow them to access all of Apple's iPhone customers, and tax all their revenue for the service they ostensibly provide, even though developers do a lot to make iPhones worth having. It's an abuse of their market position and there's not much anyone can do about it - except as the blog says, publish to the web instead. It's not perfect but it's the only meaningful alternative to regulation, which Apple are obviously going to use every trick in the book to wriggle out of, because why willingly shut off billions of revenue from taxing app developers? Hopefully the web can gain traction as a way to avoid abusive app publishing rules.
- deleted 3y ago[deleted]
- tailspin2019 3y agoTo the degree that you can describe a company in general as such, Apple is one of the most arrogant companies I've ever had to deal with, sometimes as a customer, more often as a developer and very much so when I was involved with a partner in one of their many supply chains. I think this is true at the same time that it's also true that they currently create some of the highest quality, almost perfectly fully integrated computing products in the world. I have a real love/hate relationship with this company. I'm deep in their ecosystem, I don't really want to have to leave it, but I still see the arrogance bleed through and it pisses me off every time I notice it. What this article describes - a seemingly widely perceived arrogance and disdain towards developers - isn't purely developer focused in my view - though I think they get the brunt of it. I think this is symptomatic of a wider issue. A cultural thing which is as deeply embedded in Apple as is their high attention to detail, technical excellence and sense of design. I wonder if it came from Jobs himself - who, a bit like Musk, was by many accounts a bit of an asshole to those around him, but was also an extremely talented visionary, with that rare ability to pull together talented multi-disciplinary teams to help synthesise beautifully designed and - often - thoughtful products. (The current trend is against also thinking about Musk like this but I do think he and Jobs have a lot in common). The high quality output of the company is either in spite of or dependent upon the slightly morally compromised and contradictory means of producing that output. I'm not sure which. I often feel like I'm in a bit of an abusive relationship with Apple. I can't quite put my finger on it. They make wonderful things, which I often really really love using, but then in another moment they seem to manage to gaslight me in some way - making me feel utterly stupid for continuing to give them my money. Sometimes I think their products are literally unmatched and I focus on the fact that their attention to quality and innovation pulls the whole industry forwards, other times I just think I'm in their predatory ecosystem simply because they're the best of a bad bunch. I think the thing the most annoys me with Apple is the disparity between the "perfect" public image they try extremely hard to portray - more than any other tech company - and the very obvious contradictory behaviour that can often be revealed just by scratching the surface. //rant
- skydhash 3y agoWhile I agree with your opinion, my own stance is that my needs supersede the tools. I have a few HomePods, but only because my music sources are my MBA and my iPhone. While I've wished that they have bluetooth and line in. And they will be replaced if I ever switch to something that does not support Airplay. I have the Apple TV, but that's because Infuse exists. I'm prepared to switch from anything that does not allow me to do what I want to do.
- ederamen 3y agoApple has done an incredible job of gaslighting developers into believe they care about them and are making generous investment into APIs and tooling, while simultaneously doing everything in their power to lock those devs into the platform and and force them to spend their limited time/resources learning the Apple-exclusive tech stack. The intolerable part for me is that after you've spent years investing in learning their (non-portable outside of Apple) languages and APIs, they can reject anything you build for mobile for any reason, and you ultimately have zero recourse. In other areas of software you could take the skills you've learned to your next job/project - but as Apple is moving more towards declarative frameworks where you aren't supposed to think about what's going on under the hood (I.e. SwitfUI), the amount of actual deep, transferable software engineering skills you gain from working with these frameworks approaches zero. The investment just doesn't feel worth it to me, when there are so many other things I could be learning to advance my career.
- BlueTemplar 3y ago> Ironically Google is the good guy here, they’re doing great work for the web. Still naive, eh ? I would be extremely wary of following in Google's footsteps : the use Chrome(ium) and their web apps as a trojan horse to wrestle control of general computing from the OS and native apps. And it typically results in a worse user experience, because you lose performance by running in an emulator (and/or the extra, always somewhat leaky, layers of abstraction complicate the developer's job), and the browser's interface gets in the way. So no, please do NOT write code for the web (except if your program is extremely basic and you don't think it will ever get more complex), write code for Linix (or other libre software/hardware, and excepting the likes of Android) - Librem 5 and PinePhone are particularly in need of your help, since they have quite the task ahead of them, going against Google, Apple, and Huawei.
- toastercat 3y agoReading this reminded me of two recent experiences I've had with Apple products, myself being solely a Windows and Linux user my whole life. 1. Friend gave me his old iPhone. I'm already happy with my current Android phone, so decided I would turn into a Retro emulation machine. I went to install Retroarch only to find that the steps for installing Retroarch on iOS is convoluted, doesn't allow auto update of cores, must be sideloaded with AltStore unless you have a jail broken phone, and apps installed with AltStore expire after 7 days if you don't pay $100/year to Apple for a developer account. I gave up and the phone is collecting dust in a drawer now. 2. Mom has an iPhone with 512GB storage that she filled with photos and videos. She's not keen on the iCloud pricing. No worries, I'll just back up her photos on her 2TB laptop I bought her a while back. Simple right? Just transferring files from one device to another just 2 inches away with a USB cord. Nope. iPhone won't give me access to those photos from her PC because it's Windows. Let me try the Windows photo backup tool... failed, crashes, and iPhone disconnects. OK someone told me I can backup photos using iTunes, lets get that started. Oh wait, Apple encrypts the files in some proprietary format when I back them up. Let me just use what iCloud storage she has, back them up in batches and... oh she has the free tier, 5GB. That will take ages and its damn ridiculous that I have to rely on a cloud middleman to transfer files to a device sitting literally next to the iPhone. OK my last resort, I'll install Syncthing... oh... no Syncthing for iOS. What ended up working was a $5 app on the AppStore called Moebius that is just a wrapper around an outdated Syncthing. The most frustrating experience were the amount of people online whose solutions were "just pay for iCloud bro!” The entire reason I'm doing this is to NOT do that. Anyway, after those two experiences, I swore off Apple products. Not for me, and apparently not for normal people like my mom either.
- realusername 3y ago> "just pay for iCloud bro!” The entire reason I'm doing this is to NOT do that. Even if you do pay for iCloud you have essentially no way to know what's going on apart from owning a Mac or using iTunes. There's not even a basic progress bar on the iPhone of what's being backed up there or not.
- skydhash 3y ago1. A quick research would have shown that Apple don't support sideloaded software on iOS 2. I see that Photos on iOS has an "Export Unmodified Original" on the share sheet that send the picture to Files. So you could probably connect to SMB share and export that way. I agree that Apple products are not for you. But Apple has always specify a Right Way (tm) to use their products. You either like it or not. Anything else will be an hack.
- therealmarv 3y agoI'm deeply worried that this new Apple Vision Pro will get successful and there is no real competitor or openness.
- dns_snek 3y agoAt the end of the day it's "just" a display, a few sensors and cameras strapped to your face, it's not exactly rocket science. Quest 2 gets you 80% of the way there for 1/10th the cost, and if VR/AR become widespread, there's probably going to be a few dozen companies that will compete on hardware. VR currently suffers from a chicken & egg problem. There isn't a ton of investment in software & hardware because the user base is relatively small and vice versa. Once that changes, other hardware manufacturers will follow.
- izietto 3y ago> Google has a bug. I have dynamic light/dark mode, and if I search on Google at night, the first page shows up in light mode. [...] In the morning, my laptop automatically switches back to light mode. [...] The people like me who use alternate search engines like DDG have already moved on years ago. The rest of the (overwhelming) majority is stuck with Google. You don't move from Google for this bug because there's an easy workaround: F5 (aka refresh the page)
- mnvrth 3y agoI didn't move from Google because of this bug. I'm just using that bug as a (pretty symptomatic) example.
- BuyMyBitcoins 3y agoYears ago I decided to delve into learning Swift and native iOS development. I simply could not get accustomed to using XCode. The UI/UX of XCode is atrocious in a way that I’m struggling to articulate. I found myself constantly opening and closing panels just to click on icons that weren’t intuitively grouped together. To open one panel would forcefully minimize the other. It’s like a tenth of my time was dedicated towards “panel jockeying”. I got the sense that Apple’s designers wanted to make an IDE that was visually pretty and minimalistic, not one that was low-friction for the developers. But IDE’s aren’t supposed to be minimalistic, they should be allowed to be as customizable and cluttered as each individual developer would like, according to the needs of what they trying to build. Imagine a physical garage workstation. Whereas Visual Studio would let me make my workspace as cluttered and customizable as I would want, Apple would insist that I put each tool back in the box before grabbing the next one. This is what I mean about panel jockeying. I’m curious if other developers feel the same way, of if my analogy makes sense.
- airstrike 3y agoIMHO XCode is both great and terrible. I miss it when I'm in vscode, but I also hate it when I'm in XCode, if that makes sense? It's like a heavy IDE of yore, which means the more you comply with it, the more you'll enjoy it—but that also leaves a feeling that you're not really in control. It's definitely worse than it could be if Apple cared enough to make it half as snappy as vscode feels. The shitty support for vim keybindings alone makes me furious (e.g you can't redo most actions like "c" or "r") Finally, I'm not sure if you were using SwiftUI back then or if you were fighting with storyboards in UIKit. The latter is an ATROCIOUS experience I wouldn't wish upon my worst enemy. SwiftUI in comparison feels like the future, even if it's still in its early days and some stuff needs to be ironed out
- jwells89 3y agoStoryboards are indeed terrible. XIBs are notably better due to not bogging the editor down with N screens but still not great. Both suck for version control being gigantic blobs of machine generated XML. This is why I abandoned storyboards and XIBs in iOS development 7-8 years ago. UIKit is actually a pretty decent code-only experience, particularly since the addition of anchor-based autolayout constraint building. It was actually a major point of frustration that it’s not practical to go code-only with Android Framework on Android and WinUI/Windows App SDK on Windows, both of which are heavily invested in XML layout and resource files. Jetpack Compose thankfully fixes this on Android at least.
- DotaFan 3y agoNative stack is tailored for native devices, using web for that is just not as reliable/maintainable/cost efficient in my opinion. Sure, you can have less devs to support both platforms, but as soon as you need some hardware functionalities, you're not gonna have much of an options, besides what web tech libs you have in the store.
- ederamen 3y agoAgreed, but it's because Apple has deliberately and relentlessly sabotaged PWAs as a competitive option. If it were in their financial/competitive interest for PWAs to be amazing on iOS, they would be. Unfortunately for us this would circumvent their 30% app tax, so they'll be dying on this hill.
- berkes 3y agoBut a surprisingly large amount of apps don't need hardware functionalities or could easily provide (most of) their value without them. Sure, some high end games. But they're more an exception. What other app are you thinking of?
- DotaFan 3y agoThis is true, if it's basic app I'd certainly recommend web technology. But it's also true that clients many times don't know what they want and where they're heading. So, before we decide on tech, I do analyze with my clients what are their plans for the future with the app. It does pan out many of them would like to have notifications, storage, camera, offline..
- berkes 3y agonotifications, storage, camera and offline are all supported by web-apps though. Maybe not safari, IDK, but globally the most used browsers support this and have done so for many years.
- charlie0 3y agoThe $100 developer fee is very annoying, but understand it's there to add a small barrier to entry. It makes people think twice about whether they really want to launch an app on the app store and therefore stops many users from publishing junk apps.
- mdaniel 3y agoAnd yet, also impairs enterprising folks from also wanting to kick the tires on an idea. I don't mean established software engineers, I mean some teenager for whom $100 is an annoying enough sum to be a headache. I would guess the long and capricious review cycle stops a lot of junk submissions, not the $100. If my mental model is correct any such junk app would easily make back the $100 in spammy ads on every click
- bmoxb 3y agoTo my knowledge, the fee is for the dev kit rather than the ability to publish on the app store. If it the aim was to prevent junk from being published, then surely the fee should apply at the point of submitting an app for review.
- nottorp 3y ago[quote]Ironically Google is the good guy here, they’re doing great work for the web. On the other hand, literally every single workaround I’ve had to write in the recent past in web related code has been due to Safari's princessness.[/quote] There's no mention of Firefox or other browsers (except Safari because he hates it) so my conclusion is that 'for the web' means 'for Chrome'. So it's not 'write code for the web because Apple hates you', it's 'write code for Google'. Doesn't look like such a good idea to me.
- sspiff 3y ago>The dependency goes Developer -> Apple and Apple -> Consumer, there is no reverse arrow from Apple to the developers. Is that really true? If Apple is abandoned by large developers (let's say of Adobe, Microsoft calibre), does it not harm their sales or revenue? It certainly isn't universally true. For young or new platforms, like the transition to ARM a few years ago, or the Vision Pro today, Apple needs developer adoption to be successful. Of course, it's existing success on other platforms almost ensures a certain degree of developer engagement with their new products.
- djbusby 3y agoApple can make a new thing, while others (and the web) are playing catch-up. There are no open-standards for this VR road (yet (a-frame?)). These vendors will continue to "innovative" on their closed platforms.
- smoldesu 3y ago> There are no open-standards for this VR road There's a few, actually. WebXR is supported by Safari but coverage is supposedly really weak: https://www.roadtovr.com/apple-vision-pro-webxr-support-safari-model/ https://www.roadtovr.com/apple-vision-pro-webxr-support-safa... There's also OpenXR for native applications, which the Vision Pro does not cover. That's where the closed-platform "innovation" is happening, supposedly.
- singron 3y agoIf a developer pulls out of Apple, the developer loses half of their mobile market, and Apple loses a single customer. I guess if you got all developers to leave Apple, and then all iOS users switched to Android, then it could hurt Apple more than developers, but that's probably not happening.
- shirogane86x 3y agoI am pretty sure iOS has way less than 50% market share globally? So if your target audience is global I am guessing you lose less, on average
- akkad33 3y agoWhat's the most beginner friendly framework for web app development that is lean and not bloated like angular
- 65 3y agoReact/JSX is the easiest to read and comprehend. I find it a little more intuitive than Vue. If you want something simpler I would suggest Alpine. If you want something even simpler than Alpine I'd suggest HTMX.
- w4 3y agoIMO if your goal is to get up and running fast as a single developer I would suggest that you pick a battle-tested server side framework in a language you already know (Django, Rails, Flask, Laravel, Play, Express, ASP.net, whatever), and use HTMX or its equivalent for the framework you’ve chosen (Hotwire for Rails, Livewire for Laravel, etc.) along with vanilla JS and either Bootstrap or Tailwind for CSS. Keep it simple. On the other hand, if your goal is to make complex interactive apps, or if you do not want to to launch apps yourself and instead want to be more employable by midsized or large companies, pick up React.
- squigglydonut 3y agoHaving been in apps for the past 10 years I am not incredibly motivated to build for the web. PWA works, has local storage, and best of all no 30% profit sharing!
- maxlamb 3y agoIsn't building PWAs building for the web?
- squigglydonut 3y agoYes you're right! I said "not" but I meant "now. Had to think about that for a second.
- jjtheblunt 3y ago> The dependency goes Developer -> Apple and Apple -> Consumer, there is no reverse arrow from Apple to the developers. The App Store gets a developer’s apps in front of a huge audience and significantly simplifies distribution and billing and so forth. People complain the cut is high to use the App Store which is probably valid.
- dtagames 3y agoThis author seems confused about something that he, himself explains. The reason that Apple doesn't care about developers is that they have created such a walled garden cult w/ users that developers are forced to produce products for their platform or they lose half their market -- or more. At my day job in mobile game development (for a small studio inside a large company), we have to fight Apple constantly -- not only on tech issues but on policies and approvals, too. But offering a mobile game without a way to run it on iOS would be unthinkable, so we comply. In many ways, Microsoft's original strategy for the PC was the exact opposite. It catered to developers and provided copious documentation, examples, and tooling for devs. The companies behind those devs were, themselves, motivated to make software for MS and, in turn, to promote and sell it. The tidal wave of individual developers making Windows software (think back to the shelves at computer stores) is what created the desktop OS that still rules the roost.
- ahmedfromtunis 3y agoI think this is because Apple is a hardware company, that uses software to attract consumers. While Microsoft is a software company, that uses hardware to attract consumers.
- coffeebeqn 3y agoApple is a vertically integrated company. They offer you (in theory) everything you need for computing
- clarkmoreno 3y ago
- dickersnoodle 3y agoGo ahead and write "code for the web" but be prepared to have to choose among a bunch of different JS libraries and CSS design systems depending on who the CTO is for your organization and who has their ear; writing bare-metal HTML/CSS and minimal Javascript won't get you far with the C-suite and you'll be pulling your hair out trying to get things to play nicely with each other (or wind up digging through five or ten <div> layers to find a DOM element you need to augment).
- 65 3y agoHuh? If you don't want to write bare HTML/CSS/JS you can use one of the many frameworks that make writing web apps easier. Even if you hate React or Vue you can use Alpine. If you really hate Javascript you can use HTMX. The web has the best tooling out of any platform because it's the biggest platform. It also has the best documentation... because it's the biggest platform. I don't know what your point is, that web development is hard or complicated? Writing web apps are way easier than writing iOS apps.
- mattgreenrocks 3y agoWeb tooling is still not great. It’s still too low-level. We shouldn’t be writing div over and over with different interacting class properties. Something like SvelteKit’s level of frontend/backend integration feels 5 years too late. Ultimately it seems like the web ecosystem gets trapped in local maxima (“put JS in everything!”) and really seems to avoid actually creating useful, productivity-enhancing primitives. And that comes from loving the trinity of web tech so much you cannot imagine life without them.
- 65 3y ago> We shouldn’t be writing div over and over with different interacting class properties. This is why we have frameworks like React with components, so you don't have to do this. Even if you don't want to use a framework, you can use Web Components which allow you to create "productivity-enhancing primitives".
- 3y ago
- bowsamic 3y agoUnfortunately from a non-professional perspective, writing for the web is just soul crushingly boring and honestly depressing. I'd rather not be reminded that this is where the cross-platform development takes place. It genuinely makes me hate programming and I find negative joy in it
- mnvrth 3y agoI feel sad that you feel like that, because it really isn't! Of course, different things work for different people, and you and I just might have different ideas of fun, but for me it's the opposite. I find great joy in writing web code. I will give it to you though - the ecosystem is complex. It takes a while to figure out what works for oneself and what is just chaff. And there is a lot of needless complexity. Anyways, my point here is - do try to give the web another try. Maybe it'll click, and you'll start having fun writing code knowing that you can send a link to anyone and they'll be able to enjoy what you've created irrespective of what device they're on, and instantly.
- deleted 3y ago[deleted]
- wackget 3y agoWhat parts of it do you find boring, specifically?
- bowsamic 3y agoI find working with abstraction boring generally. I want to program a machine to do things, not feel like I'm working in some kind of abstract virtual space. Further, I could maybe tolerate that if it were a nice abstraction, perhaps like smalltalk or something, but the web is a terrible abstraction, being made to do nothing like it was designed to do. It's extremely unpleasant.
- Razengan 3y agoSwift and Apple APIs are the most pleasant environment I have ever experienced by far. If only their documentation wasn't so often lacking though.
- dsign 3y ago> Apple’s own music player was, and still is, unusably bad. And here I thought it was just me. I really like Dolby Atmos in their airpods, and it seems that it only works with Apple Music. But Apple Music just doesn't click with me.
- airstrike 3y agoImportantly, you also cannot uninstall Apple Music on Mac OS, forcing people to resort to (brilliant) things like https://github.com/tombonez/noTunes https://github.com/tombonez/noTunes
- deergomoo 3y agoIt wouldn’t surprise me if Apple Music on iOS was in a similar boat to the Mac version (which is just the crusty old iTunes codebase with a lick of red paint). It feels very much like it’s still the same old app built for the time when any music you’d be playing was locally downloaded, but with streaming haphazardly retrofitted. It’s pretty sluggish even with a flawless connection, but if you’re somewhere spotty like on a train it becomes basically unusable. Even for stuff you have downloaded for offline playback, it seems like it will try to stream it instead if there is any network connection at all, regardless of how bad it is.
- 65 3y agoEvery day I think about how great the web is, and how much of a shame it is that Apple has tried to destroy as much of the web as possible by getting developers to make iOS apps instead of web apps. If there was no app store the web would be so much better. We'd have more variety in our content consumption, our social media sources, our algorithmic recommendations, our digital experiences. The web runs on everything, and there are so many great APIs that can be used to make immersive/next gen applications like WebXR. But someone making some WebXR app and charging for it on their own site wouldn't make money for Apple, so Apple never promotes these web apps. Long term... the web never dies. Companies come in and extract their profit and then die. But the web never dies.
- isodev 3y agoWriting for the web of today is merely changing one walled garden for another. We don't live in a state of "free and open web" - it's dominated by two ad companies controlling the browser and social aspects of it. Some would argue that we should keep pumping browsers with native-like APIs to escape the "big bad App Store" while in reality this merely increases the foothold of Big G and their cousin Meta. The issue is not how much Apple cares about developers (they do, because developers make Apple's ecosystem but this is a business relationship, not a friendship). In my view, the root cause is that the "happy path" of creating an app mandates choosing an ecosystem. For everything from tools to where you'd store your data and how you'd send push notifications - you have to choose which one of the MFAANGs you will support or else.
- hu3 3y agoI don't understand this rationale. Web apps can be used by many devices, mobile or desktop, iOS, macOS, iPadOS, Android, Windows, and Linux. If web dominance changes I'm still left with an application that works everywhere. How is that comparable to native applications that only work in the latest versions of a single OS? The only reason web apps didn't dominate yet is because Apple can't force them to pay 30% of their revenue plus $100/year per developer license so Apple goes out of their way to nerf web app functionality. Safari is historically lagging behind in implementing functionality to enable web apps.
- isodev 3y ago> If web dominance changes I'm still left with an application that works everywhere. That's the faulty assumption in my view. It doesn't work everywhere - even on the web, you're bound to whatever the dominant browser thinks is right for you. Some random examples from recent months - 3rd party cookies (putting aside the fact that they were enschitified for ads), Google suddenly decides to turn them off and they're gone. Ad blockers don't make it as an extension (so extensions are not, in fact, a solid substitute for apps). See AMP - you don't even get the choice if your website will be transformed into whatever Big G thought was an "optimised experience". What's to stop them from forcing you to enable "privacy-focused topics" or Web Bluetooth to sign into your Gmail account? Let's not even begin to discuss Search - all from your browser company. You see, browsers have become much more than simply web agents. Your app's documents and hypermedia are technically downloadable "everywhere". However, just like on an App Store device, if and how users can discover your web content and how they experience it is entirely locked inside the walled garden of your Chrome-like browser vendor. PS: Since before the browser Interop initiatives (now more than 3 years ago), Safari has been leading the race when it comes to accepted standards.
- mlcrypto 3y agoApple and their fans always represented peak arrogance to me. Idiots who would spend $1000 on a phone and $3000 on a laptop that had more bugs and compatibility issues with hardware and gaming than Windows. Only decent product they made was the iPod
- lm411 3y agoI must say, I am very happy with my 16" M3 MacBook and iPhone 13. The new 16" MacBooks are the nicest laptops I've used since the old 17" MacBooks. I guess enjoying quality products makes me an idiot to some people. I'm not easily offended. :). The M3 Mac is a real beast of a machine and the iPhone does exactly what I want it to. I originally bought a MacBook after years of using Linux desktops because I wanted a stable POSIX compliant OS (with a complete nix user land) AND a nice desktop environment that "just worked". And that's what I got. I have about 30 years of development and sysadmin experience on nix systems, so, I feel a bit neutered on Windows. No doubt Windows guys feel the same way in *nix environments. Unfortunately the "year of the Linux Desktop" still seems years away. Yes, Linux as a Desktop Environment is feasible (and I do use it often), but, it's still an inconsistent pain in the ass.
- rchaud 3y agoThe problem is, I want to be able to run apps on my device entirely offline. On Android, I can do that with web apps, because Android for the time being has "web server" apps that let you run a local Apache server. So if your application files are stored locally on phone storage, you can use the app entirely offline. Anything similar on iOS?
- wackget 3y agoIt was obvious to me that Apple doesn't care about developers the moment I learned that they charge a $99 per year fee to open a developer account. I refuse to pay a company so that I can contribute value to their ecosystem.
- CharlesW 3y agoThe point of the article is that you, as an individual, don't contribute to their ecosystem — that "Apple has no dependency on individual developers". The way that Apple cares for developers in aggregate is by keeping the ecosystem vibrant. This means giving developers what they need, but not necessarily what they want. It means that when it comes down to what developers want vs. what users (like the author's mom) need, users win. $99/year is nothing in terms of development costs, but even that token amount will generally keep out the Apple fanboys who just want to download iOS developer releases and should not be let into the developer party.
- jwells89 3y agoThe web is great in theory, but the bare-bonesness of the browser environment makes it an exceedingly unappealing platform for apps specifically when you’re used to developing with a throughly batteries-included experience like you get on Apple platforms. Where on macOS a highly capable, polished app can be easily be developed with a list of dependencies and sub-dependencies that can be counted on a single hand (and with a little effort, none at all), the equivalent web app has many tens or hundreds because of all the feature gaps needing filling in. For example, I don’t see why browsers can’t furnish basic list and table views that are capable of efficiently recycling their cells without any (or extremely minimal) JavaScript. It’s not unusual to need to be able to scroll through hundreds or thousands of items without causing the device to chug or run out of memory, and that’s handled nicely out of the box in AppKit, UIKit, SwiftUI, Android Framework, Compose, and probably even Flutter (haven’t checked) but in the browser you’re either pulling in a library or writing custom code for this very basic capability. And that doesn’t even get into the package management and general tooling situation, where the same fundamental problems doggedly persist even as solutions come and go.
- deadbabe 3y agoWhat’s wrong with Javascript
- vorticalbox 3y agoNothing really but lots of it is not a nice experience.
- jwells89 3y agoIt’s not JS itself that’s the problem, it’s the need to write it to fill gaps in browser facilities. Rather than there be 10k different implementations of a scrolling recycler list of wildly varying quality, there could just be one in each browser engine that web devs can rely on, allowing them to instead focus on writing application code.
- deadbabe 3y ago
- bigstrat2003 3y agoWrite code for the web if you like, but please don't make your text 500px wide. It's awful to read. I don't have a big monitor so that you can take up a small thin vertical strip.
- ricardo81 3y agoQuirky that DDG is mentioned as a Google alternative when it's a meta search engine. I'd hope the average developer appreciates that DDG isn't a "true" search engine as in, they don't have their own index of web documents.
- ksec 3y agoI think this is beautifully written. Giving a lot of context as to "why" they way they are now. I even like it was tagged as "Rant". Which isn't really my standard rant at all. At least not "angry" rant. It also capture a lot of things that I share. Especially post Steve Jobs' Apple. >With Apple I didn’t understand the dynamics. The dynamics is very simple. Once you understand one thing. As a developer, the user using your App are not your user, they are Apple's user. Apple is granting you access to their user base. Another way to think about it is the App Store, Apple is sharing 70% you earned from Apple's user to you. Rather than Apple taking 30% from you. The first one implies Apple think that 100% ( or vast majority ) of those value belongs to Apple in the first place. While the second is Apple's tax on your value you created. That is to say Apple treat its developer as an extension of their own. And ultimately only to serve Apple's user ( or Apple's interest ). This is not just on software but also on hardware. As anyone in supply chains working with Apple would understand this. >Apple’s own music player was, and still is, unusably bad....... think it is because the people who're making these apps were never around in the Justin Frankel era of Winamp. I have been stating this since the dawn of Apple Music. If anyone remember, when Tim Cook launch Apple Music. It was all about the magical "Next Song". That is the modern day speak of AI knowing what the next song should be. That was the pitch from Jimmy Iovine on Beats Music, from a guy who thinks they have some of the best sound quality in the headphone market. Luckily the original "taste" of Apple's speaker quality didn't get diluted by this acquisition. Many thanks to those ex- B&W engineers. But iTunes was basically swallowed by Apple Music, or Beats. For some time Apple Music doesn't even have a loop for listening to the same song repeatedly. They want you to listen to the "Next Song". It was a platform primarily designed for New Music Discovery. Hence the Design is centred around Radio and curated playlist. Rather than "letting what user want which is to curate their own music library in iTunes". Quote from an NBC interview with Steve Jobs in 2006. ( Full Interviews on the Internet are all dead for some strange reason. ) And then every version of Apple Music they added back some pieces of iTunes function. But the design remains the same as it was in 1.0. It was first and foremost designed for New Music Discovery. Or to quote Jimmy Iovine, 2016 that the intention for the service is to become a "cultural platform", and Apple wants the service to be a "one-stop shop for pop culture". It you watch Apple closely and think where some of these culture changes came. That is probably the start of it. >Which brings me to the third thread of this story, how all this made me reevalute my relationship with companies. The bulk of many of these conversion is that we are comparing Steve Job's Apple against Tim Cook's Apple. Those of us who were there before the iPhone. And the two are a very different company. Modern day Apple is very much profit driven development model. From Product segmentation, service strategy to operational efficiency. The Final Quote : "If you were a product person at IBM or Xerox, so you make a better copier or computer. So what? When you have monopoly market share, the company's not any more successful. So the people that can make the company more successful are sales and marketing people, and they end up running the companies. And the product people get driven out of the decision making forums, and the companies forget what it means to make great products. The product sensibility and the product genius that brought them to that monopolistic position gets rotted out by people running these companies that have no conception of a good product versus a bad product. They have no conception of the craftsmanship that's required to take a good idea and turn it into a good product. And they really have no feeling in their hearts, usually, about wanting to really help the customers. So that's what happened at Xerox, that the people at Xerox PARC used to call the people that ran Xerox tonerheads. And they just had these tonerheads would come out to Xerox PARC and they just had no clue about what they were seeing." - Steve Jobs
- gymbeaux 3y agoWhen I think about it, it astonishes me that there are people in the world who take Apple's developer tools, and make some really beautiful and useful iOS apps. I've tried on and off since high school and have never been able to do it. I started in high school with Xcode and Objective-C, which is a very difficult language to work with (being not that far removed from C/C++). When they moved to Swift I thought "okay finally, now I can make some iOS apps!", but Swift also proved to be a bit of a strange language, it's like the pendulum swung in the opposite direction- Apple was trying to cater to non-devs with it. So we ended up with something that was sort of like Python but still retained some elements from Objective-C. Of course during this entire time span, Xcode remained a garbage IDE. That's probably the main hindrance for devs and would-be devs. Swift can be navigated, Xcode is a black hole of doom.
- spacedcowboy 3y agoObjC is not “a very difficult language to work with” by any means, and Xcode is fine - it’s not the absolute best IDE out there, but having tried several, it’s ok. Honestly, having “enjoyed” decades of different systems, from the days of 8” floppies onwards, developers today are spoilt rotten, and still find things to complain about. Grumble, mumble, kids today, get off my lawn etc etc
- Drew_ 3y agoObjective-C is the only programming language that was genuinely unreadable on first glance to me so I would definitely agree that it's difficult to work with.
- spacedcowboy 3y agoPersonally i don’t see much difference between class obj = new class() and class obj = [class new] And i think the named parameters are easier to read And ARC gives you pretty easy memory management - basically “don’t even have to think about it” except for more-obscure cases, even then weak properties can help out. ObjC is really only a little more complex than C, but gives you so much more for that little increase. It’s orders of magnitude less complicated than c++, but is capable of handling enormous codebases just like C++ It is under-appreciated IMHO.
- solarized 3y agoThe only reason why native apps is : Control ! they really want keep you inside their ecosystem. so they can control you as much as they can. * they want you to pay the apps submission fee. * they want your user payment subs processed within the ecosystem * they want easily track everything. they keep doing this hyprocysy to the web eco. while they really know: almost the problem in native can be solve under the web browser stack.
- snyp 3y agoWeb app developers which I also used to be once upon a time seem to some how miss always miss the point that making a web app and having them run on the desktop is not the same as having them run on a mobile device. The constraints for power consumption, memory usage and cpu time simply don’t apply on a desktop/laptop sized machine. It’s very easy to have a browser bee the biggest resource hog on a laptop if you have more than 5-6 tabs open with some big apps. Thats what these native mobile dev bashers seem to never get.
- aantix 3y agoHow can we normalize/streamline using the "Add to Home Screen" bookmarking feature as an alternative to the App Store installation? What if we created an App Store that was solely focused on getting users to “install” using a bookmark. And convinced top app players to forgo the App Store and advertise “get a 10% discount if you install our app with App Store X, the alternative App Store.”
- ksec 3y ago>the form factor my mother uses has changed from a laptop to an iPad. But it still satisfies that core value prop. >Let's consider a different context. Even if there were no apps in my phone, I would still buy an iPhone. For myself likely, but most certainly for her. I have been thinking about this since COVID. I recently posted [1] on Apps required for setting up a new Mac. Apart from BitTorrent client, VSCode, a Video player and related library, 99% of time I am inside a Browser. i.e We are very very close to a point where a Web Browser is all we need. Especially for consumption devices similar to iPad. This also means having a platform other than Google, Microsoft or Apple is more feasible than ever. Unfortunately Facebook or Amazon doesn't seems to be interested. I dont see any other companies to have this appetite. Ideally something similar to Mozilla or WikiPedia would be better. But both are too small right now to try something of this size. [1] https://news.ycombinator.com/item?id=39164362 https://news.ycombinator.com/item?id=39164362
- amatecha 3y agoYeah, "everything being in the browser" is probably a big part of the reason I can happily daily-drive a laptop from 2012 with a resolution of 1366x768 and 8gb of RAM (ThinkPad X230 running OpenBSD). All the other non-browser stuff I do is like, coding and terminal stuff (other than gaming, which I have a different machine for).
- m3kw9 3y agoAnd you are cared for if you code for the web?
- neilv 3y agoI wish I'd read this article a few years ago. It would've saved me discovering the "just doesn't care about developers" the hard way, especially with SwiftUI (which Apple recommended to use, as if it was ready) and some of the APIs we needed. It's first surprising, and then concerning/infuriating. I also could've forwarded the piece to non-developers. I successfully did a fancy production-grade app, despite Apple, but after I told one of the non-developer co-founders how I'd been cursing to myself about Apple (e.g., buggy libraries and tools, bad/incomplete docs, poor API in some places, flaky developer-facing aspects of App Store, authoritarian and Kafkaesque processes around App Store), I got the impression he didn't understand. I'm guessing he assumed it was much like Apple consumer quality and vibe, as I would've, and a superficial look at a developer marketing page or demo video would also make it appear like that.
- m3kw9 3y agoThe author is like a toddler that accuses his parent not caring when he doesn’t get his way. I mean what do you expect corporations that tries to make a good ecosystem for developers to do? They can’t satisfy every concern
- hermitcrab 3y agoI develop native applications for Windows and Mac (using Qt and C++). I get a strong feeling that Microsoft (for all it's flaws) cares a lot more about developers than Apple does. I wonder if some of this is because Gates was a developer and Jobs wasn't.
- EGreg 3y agoThat is why we built this open source platform: https://qbix.com/platform https://qbix.com/platform We bet on the open Web since 2011. We believe Wordpress had huge success for Web 1.0, but for Web 2.0 everything is proprietary. Mastodon is an exception, but it doesn’t go far enough. This is our vision: http://laweekly.com/restoring-healthy-communities/ http://laweekly.com/restoring-healthy-communities/ https://qbix.com/ecosystem https://qbix.com/ecosystem Anyway, use it! Let’s opt out and wrest the power from Big Tech!
- manchmalscott 3y ago> On the other hand, literally every single workaround I’ve had to write in the recent past in web related code has been due to Safari's princessness. On a recent project I was working on, I noticed that having a long list of items in an overflow: scroll container would still allow the root page to scroll as far down as the items theoretically would. You could just scroll far past the actual HTML root tag because somewhere on the page I had a long scrollable list. The catch? I only noticed this on Safari.... and Chrome. Firefox is the only browser that doesn't shit the bed on that page. I just find it amusing that the most annoying problem I've experienced recently with web dev was not because of Safari's "princessness" (it was doing the exact same thing as Chrome), but just because browser engines have become complex enough to be eldritch gods we just have to pray to and hope. Finally, parity with the desktop.
- mnvrth 3y ago+1 for your invocation of eldritch gods :) I know what you're saying, there is undoubtedly a complexity angle too, not all of it is malice. But after a while, one starts noticing the pattern (or maybe it is just me) that Safari has a holier-than-thou attitude towards standards. Their way of standardization is - I'll just go ahead and do something my own way, and then rest will just follow suit because I have so much market share. Which isn't, as you say, far from Chrome's actions in theory. But in practice, the feeling I've been getting recently is that more Chrome is happy to accommodate. Safari seems to (intentionally or culturally) drag its feet a lot more in picking up stuff that has been ratified.
- jb1991 3y agoOne thing about the web is that GPU compute is still not so straightforward to achieve, and even CPU multithreading has a bit clunky at best. For many kinds of apps, web is really not the right answer for these reasons. If all you need is a UI and some fairly minimal background logic, the web could be just fine, though.
- viktorcode 3y agoThe author confuses development for an Apple platform with using Apple's service API in development, and suggests to write for web instead. If you can use Apple Music API in web development (I don't know if you can) then you'll face exactly same issues as described, because the problem is this service's API.
- frizlab 3y agoI’m a developer (Indie and pro) and I’m still glad the user is put first.