Follow

I wrote a blog post about the differences between JavaScript and iOS developers, from a hippy-dippy "we're all the same, but also different, let's learn from each other" angle. I hope you like it.

ashfurrow.com/blog/learning-fr

@ashfurrow "Apple's tools for common development workflows are exceptionally well-polished"
(laughs in xcodebuild)

@ashfurrow " Take the new Xcode extensions API: it's very limited."
Oh at least there's an official Xcode extension API now. For years, you had to reverse-engineer Xcode and swizzle some methods.

@ashfurrow "Remember Xcode's awesome project templates? No such thing exists on JavaScript. At all. There is literally no defined starting place 😱"

But, but, but, create-react-app?

@bugaevc yeah, but you can’t anymore without unsigning the Xcode app :/

@bugaevc haha, why are you using xcodebuild instead of Xcode? 🤔

@ashfurrow CI, for one thing, but I'm not even talking about the xcodebuild CLI, I'm talking about the whole Xcode build system, the obscure unmanageable thing with a weird undocumented config format (.xcproj)

Compare this to buildsystems used on other platforms like Meson, Gradle and NPM/Webpack.

@bugaevc it's totally bonkers. JS projects don't even _have_ a project file, they just have the source files and config files for specific tools. Xcode project files are backwards compatible to Xcode 3.2 for crying out loud.

@ashfurrow
I would say package.json/webpack/gulp or whatever files are the project files like gradle is for java
@bugaevc

@wakingrufus @bugaevc Yes, but every file in an Xcode project has _at least_ two lines in the project file. It doesn't match the directory structure at all, introducing a whole unnecessary layer of abstraction :(

@ashfurrow @bugaevc
Yeah. Sometimes I wonder if people who love to hate on gradle, etc have ever used these cruder tools.

@wakingrufus @ashfurrow I have a love/hate relationship with Gradle. It's great when it works, but it can be a pain to set up (there can never be enough docs), and it's dog slow for :android: projects.

But then I remind myself that iOS folks have *this* to deal with...

@bugaevc I agree completely, I was being facetious. Apple's response would probably be "just use Xcode." And as for CI, well... Apple cares less about CI than it does about unit testing :\

@ashfurrow OK, but I had to view source rather than put up with your fauxcratic dialogue chat.

Which is one advantage of JS dev, it's like old-timey BASIC where I can hit Break and screw with the code. But that's also terrible.

Lack of dev tools ecosystem outside of Apple, and disagreement with this Swift marketing language, is why I quit (very profitably) sharecropping for them.

@ashfurrow @mdhughes Just wanted to echo this, except I was mobile at the time so I gave up. Got tired of pinch zooming and scrolling for each line. I'll read it on desktop later, though. :)

@tewha @mdhughes FINE I'll add a link to the JSON source code on GitHub :D

@ashfurrow @mdhughes One thing I find funny is the "slow" complaint. But I'm doing Lambda/Gateway work, so I guess it makes sense that my POV would be different. I find doing anything at all in Javascript infuriating in terms of development speed, and not because of Javascript.

@tewha @ashfurrow Right, I mostly work in Electron, I change code, ⌘S, ⌘Tab to the app, ⌘R, and it's loaded. I could even make it watch for file changes and reload itself.

@ashfurrow I love the header on your that post! It looks like a screenshot from Rise to Ruins

@edwardloveall thanks! It’s based on Conway’s Game of Life, and I use a script to download them from a generative art twitter account: github.com/ashfurrow/blog/blob

Sign in to participate in the conversation
Mastodon for Tech Folks

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!