6 ms·
It is weird being a "desktop application" and mobile developer and knowing that 70% of developers do something that I am completely unfamiliar with. Web develo
by markatkinson 10y ago
It is weird being a "desktop application" and mobile developer and knowing that 70% of developers do something that I am completely unfamiliar with.
Web development to me feels like the Boneyard from the Lion King. This shadow land that I am too terrified to enter into, and I have no idea why I feel this way. It also bugs me like it might be a huge shortcoming at some point in my life that I have no grasp of it.
- deleted 10y ago[deleted]
- k__ 10y agoWith me it's the other way around. I can do almost anything I need with Web tech. Desktop or even native mobile development seems to be like going back to the last century. I'm doing a native mobile project next month, and looking at the stuff a iOS dev needs to get going is horrible.
- pluma 10y agoAs a web dev these days I feel like we have it the easiest: If you want to do mobile, try making it a PWA. If it needs to be in the app store (which these days I often see portrayed as more of a necessary evil than something desirable) go hybrid. If hybrid is too slow, try React Native or NativeScript. All of these can build on your existing knowledge of web technologies. If you want a desktop app, you probably don't actually want a desktop app anyway, so just build a decent web app. If you need something that runs outside the browser, use Electron. Or React Windows if you only target the UWP. If you want to build something on the server-side, there's of course Node.js. If you want something more tightly integrated with the database try ArangoDB. Again, same language you already know. There are still niches where you need the raw performance of specialised programs written in other languages than JS, of course, but they are growing smaller. It's basic economics: if you can hire two full-stack JS devs instead of one iOS, Android, Windows and back-end dev each, you can cover the same technologies with half the salaries. This is especially true if the specialists end up doing mostly busy work because you don't actually need their specialised expertise all the time. Few companies can afford to have all these dedicated specialists on the team but they may still want to cover multiple markets (e.g. an app for desktop and Android). In this case going for the web is the obvious choice for the smaller budget. The alternative would be hiring multiple contractors or outsourcing the project to a company that has the resources to provide all of the needed specialists all the time.
- k__ 10y agoSure. There are many ways to leverage your Web knowledge, you don't have to start from zero. But it's still a chore to do mobile development. I want to build a iOS app, because 80% of the potential customers are iPhone users, but in the future I want to use as much of the code on Android. So its Hybrid or React-Native. So I thought, well Expo sounds nice, and gives me a Web like dev experience without the need to set up a Mac OS system. Then I checked if they support AirPlay and HealthKit and the answer was "detach". So now I'm back to "regular" React-Native and have to setup a Mac to get started. Well, at least it seems running a dev VM for Mac OS isn't big of a deal anymore :\
- pluma 10y agoOh, absolutely. For some reason Apple seems to have filled Microsoft's role as the big bad legacy bad guy with vendor lock-in. Is it even possible to run macOS in a VM on non-Apple hardware with a non-macOS host yet? Microsoft provides free VM images for every OS and browser version you might want to test against, Google provides the Android devkit that works cross-platform. But if you want to target macOS or iOS it seems you're still stuck buying Apple hardware for $$$ to do anything. And don't even get me started on the lackluster support for PWAs -- at least the fallback for those is a web app that still works in the browser (provided you have Apple hardware to test it on). EDIT: Also Microsoft has moved React Windows into its official GitHub org and advertises it as an official way to provide extensions to Office.
- k__ 10y agoIs it a problem, yes? I read a few blog-posts yesterday that explained how to get Mac OS Sierra running on VirtualBox on Windows. Well, it's only 16€, so I will try it next week. It seems like MS thinks their only way to win something in the "mobile war" is pushing PWAs. And maybe they're right. Most people use the iTunes or Play Stores. They need to get devs off these platforms and show them that their tools are the way to go if you don't want pay taxes to Apple or Google.
- mbel 10y ago> Desktop or even native mobile development seems to be like going back to the last century. The funny thing is that looking from the opposite perspective I feel the same. The web development looks like going back to beginnings of programming and reinventing everything again in the browser. You know, like when you read about 'tree shaking' being cutting edge technology in JavaScript land, then look at definition to realize that it's just dead code elimination that has been done by linkers & compilers for ages.
- k__ 10y agoYou're right, these optimisations are missing and all the fancy autocomplete of the IDEs for typed languages that are used on the desktop are missing, too. I don't know, maybe it just seems better to me, because I'm doing Web for so long now. When I see desktop/mobile with Qt, Java or C#, I see huge IDEs, runtime environments and SDKs and with iOS even vendor lock-in, simulators and whatnot. When I see Web with JavaScript, I see tiny editors, browsers that are already installed on every machine and bring all the SDKs and runtime environments, fast iterations, a good package system and general simplicity.
- frogfuzion 10y agoAs someone who has to work in both for work, I understand your sentiment. I much prefer your world. I think the difference is that in Desktop/Mobile, whatever crap has stuck to the wall for years - you must use because you don't have a choice. And usually this crap is fairly well documented because it is your only choice. In the Web World, there is a bunch of crap thrown at the wall (every day) and you have no idea what will stick and what will slide off each year. Maybe a poor metaphor, but just kind of how I feel on some days.
- ryanmarsh 10y agoThis is the best metaphor I've seen in a while. For example, NSDateFormatter is fugly but well documented[0] . Also, the MVC pattern in iOS is from macOS which is from Next (I hear). OTOH I'm building my first React + Redux app and the best practices and patterns are still emerging. I feel like next year most of what I just learned won't matter. [0]: http://nsdateformatter.com http://nsdateformatter.com
- thehardsphere 10y agoI made the switch a few years ago from working primarily on Desktop apps to primarily Web apps, and beforehand I had this exact feeling. In my experience, web apps are way, way easier than Desktop apps in almost every way, aside from maybe if you have to figure out scaling really big (which you probably don't most of the time). You can probably learn everything you really need to know about web apps to clear that spooky feeling just by working at a new job for a month or two. It's not a huge shortcoming at all in reality, because at the end of the day, software is software. You can write software, so you'll be fine and may already be better than people calling themselves "web developers." Also, I don't know if this applies to you, but in my case part of the reason I had this spooky feeling was because the people who I knew who called themselves "web developers" before I actually started doing "web development" were not very skilled, and were inclined to portray it as Magic to other people, so that they could they could feel the satisfaction of being a sort of Arcane Web Magician. Plus, it was magic to them, because they didn't really understand it. If you have people like this around you, I suggest you ignore them and, if you need support, find people who are able to explain details clearly to you without presenting it as magic, or at least point you towards resources that can. Once I was able to do that, it made a big difference in my confidence in my own abilities and helped me improve as a professional tremendously.