The iPad Experiment

The iPad Experiment

For almost a decade or more there's been something that has always nagged me. Why can't we create better online spaces that not only build code but deploy it and do all the nice things we as developers do offline.

We've come leaps and bounds in software engineering within the last 20 years. Whether its containerization, hyper virtualization of systems beyond chipset instruction sets, AI-coding companions, etc. but we still don't have a truly all-in-one solution that simply travels with you wherever you go no matter what device you use.

So, late last year, I started an experiment. The goal was very simple. Can I write an API-based application that can do the following.

  • Never be coded in a traditional IDE
  • Should be able to run a build
  • Should be able to run a test
  • Should be able to run on ANY device of my choosing (no televisions and refrigerators arent in the list)
  • Should allow me to just pick up where I left off
  • Should integrate with GitHub

My device of choice for this little experiment was an iPad Pro M1. The setup turned out to be a lot simpler than I actually imagined.

This is what I ended up with

  • vscode.dev - Online IDE which connects to GIT
  • GitHub - Code Repo
  • GitHub Codespaces - For doing all my building and running tests (yes, I ran tests)
  • Microsoft Azure SQL - Because where would the challenge be if we didn't have a DB involved
  • Microsoft Azure AppService - You could go down the Azure Function or whatever other option you want. I just kept it simple
  • Microsoft Azure Container Registry - Why? I don't know but it seemed like a good idea
  • Azure DevOps

Now, for all intents and purposes this little experiment worked. But, it did come with some drawbacks that I'll outline here if you want to go down this route. And, if you're an enthusiast about building workflows you may just want to try this.

Things that were good

  • VSCODE's online editor is actually kinda nice. It isn't Rider or vanilla Visual Studio but it does get the job done. It even gets bonus points for connecting to GIT easily
  • Codespaces are awesome. I can't begin to tell folks what a nightmare it might have been to try and run this through an AzureDevOps pipeline if I ever wanted to go that route. Codespaces make it easy and yes they can cost money but I figure if you're doing something short-term and just need raw processing power this isn't a bad option.
  • The Azure eco-system for .NET apps is very well built. From setting up a pipeline to containerization via the AppService module for deployment to auto-trigger of container deployments its super easy. Is it cheap? no. Is it really good? yes.

Things that cause you to say uh-ho

  • Let's get the biggest issue out of the way. You HAVE to be online to code with this methodology. Until such a time arises as someone builds a mobile IDE for tablets at the very least.
  • Sometimes the connectors for the SQL server would just flake out on me and I think it has more to do with codespaces vs the actual connection
  • You have to be okay with some I/O on the cloud resources racking up money and I think this is the biggest deterrent to making this popular. But, with a lot of tinkering I am sure there's a way to even subvert this issue.
  • Sometimes the browser just doesn't want to co-operate with you no matter what you try to do in it. Cases where this is true are scrolling, I tried Edge and Safari, but the IDE would just not work. What did work was using my finger to scroll and then I got so used to it that I started doing it instinctively.

Conclusion

There were lots of things I had to re-learn as part of this little experiment. I had to be sharper at using Visual Studio Code with no IntelliSense at times and I would say that if you are the kind of person who loves the simple creature comforts of installation and configuration then some of these services haven't really caught up with that yet. But, overall, I was able to deploy an API to Azure and build a container and actually get it to do some work and run tests. I think in another 4 years we won't be coding in IDEs but using AI-assistants coupled with browser-based software development to do some of the more menial tasks of integration API setups. Will we completely ditch the localized setup? No. But that doesn't mean you have to use it for everything.

Have you ever tried something like this? If so, what was your experience and what were your takeaways?


Luv Gupta

Architect | Engineering Leader | Certified ScrumMaster? (CSM?)

4 周

Interesting!

回复
Eugene Ross

Trinity Consultech Pvt Ltd, Alchemy Digital LLP, DGSPL India, Seasoned Talent Acqisition Professional, Japanese Language Evangalist, Multi Indian Linguist Mentor & Guide

1 个月

Insightful

要查看或添加评论,请登录

社区洞察

其他会员也浏览了