3 ms·
Go 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
by dickersnoodle 3y ago
Go 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".
- Sateeshm 3y agoIs writing a div and classes really low level? Even if you think that, there are numerous full featured component libraries available for web, where you don't need to write a single div or a class.
- dickersnoodle 3y agoMy point is that web development is a lot more of a moving target than iOS Native Development and it's largely because Apple makes the hardware, the software, the development tools and the languages and frameworks and they all work together. There are open source libraries in there (SQLite for the default data persistence layer) but it's all vetted and works. I've been a web developer before (all the way back to and before the ExtJS days) and while I _can_ do it I really prefer not to. The web does not have "the best tooling out of any platform" or "the best documentation... because it's the biggest platform". The tooling tends to be all over the place (until Visual Studio Code takes over the planet... :/) and frameworks like React or Vue hide a lot of complexity that you have to dig into if something goes blooey. This is not to mention the page bloat or security holes you get when you include some handful of analytics "libraries".
- aniforprez 3y agoI would, a million times, pick writing web apps over interacting with Xcode in any capacity or deal with the proprietary project formats or deal with git in an iOS app project or debug the arcane errors that xcode spits out. Drilling down to figure out where a div is that I need to change is child's play in comparison. You are citing imaginary problems. CSS-in-JS is not that bad and, given the choice, you don't even need to use it. In contrast, you have no choice but to use Xcode and Apple's incredibly poor DX to ship to iOS and I do not want to suffer that
- mdaniel 3y agoAnd I hate Xcode as much as the next person, but that's not even getting into the dumpster fire of trying to have CI/CD pipelines for iOS or macOS artifacts. I am aware that both GitHub and GitLab are now offering macOS runners, and AWS has macOS instances, but it's still "not the same" and is one more innovation token to manage
- dickersnoodle 3y agoThey are not imaginary problems. And Apple's DX isn't "incredibly poor"; coding SwiftUI views with Canvas and the #Preview macro is a dream compared to farting around with Eclipse or one of it derivatives.
- aniforprez 3y agoXcode's DX is probably a decade behind competitors, possibly even more. Android Studio is far better than Xcode because, for one, the dependency management and version control actually works and is mostly something you can safely ignore for most toy and small apps and ,for two, is a reasonably well rounded IDE built by a company that specialises in making IDEs. You're comparing Eclipse to Xcode when I don't think Eclipse has been used to build Android apps in 7+ years. The moment you have to do anything complex like even simply debugging errors and performance, Xcode falters and drops the ball. If all you're doing is building a +1 counter then I'm sure that works. For anything more complex, Xcode is hell. Or at least was when I was working on it until the pandemic post which I gave up This isn't even going into what an utterly horrific editor it is that is plagued with bugs and is missing basic IDE features like a functioning autocomplete, refactoring etc. Mind you, at one point I was celebrating because they finally added highlighting your cursor line in an update after the extensions I used to add that broke. That's how bad Xcode was circa 2015 when simple text editors had those features baked in. If you're comparing Xcode to Eclipse and ranting about JS, then feels like you kept up with how engineering has evolved for Android and JS in maybe 5-10 years. In contrast, it feels like Xcode only adds incrementally miniscule changes and every time I look at it, they seem to not have improved it much at all All this isn't even getting into what an awful experience simply updating the damn thing is. Why does it have to download 20GB every couple of months and why does it fail so often? I'm sorry I'm so aggressive but nothing has made my hairs more gray than trying to work with Xcode. It is appalling that it's basically the only way you can develop apps for the Apple ecosystem
- jahewson 3y agoC-suite is too busy migrating to yet another database to worry about frontend.
- julianeon 3y agoI feel like a lot of these answers come from a circa-2010 understanding of JS, that haven't updated to the present. By analogy, if we answered this way about mobile phones, it'd be like someone asking 'how should I do mobile development?' and someone else responding 'good luck, you have to pick between Windows phone and Blackberry and Palm and iPhone and ...' In 2024, that's easy: you develop for iPhone and Android, and if you have to pick one, make it iPhone. Simple. Similarly, for JS, you pick React Native. It's dominant and the alternatives are like infinitesimals - so small you can ignore them. "What about..." Again, you're thinking of the options that lost. It's 2024, React Native won. So you just use React Native. It's not complicated.
- gymbeaux 3y agoEchoing what others have said - Xcode is worse than all of that.
- thepra 3y agoWell, not all web development is exclusive of JS nowadays, we have the WebAssembly based Blazor framework where you use C# throughout 98% of the web app development, no JS library is ever required of you want to.