DEV Community

Developing 10x faster with a Surface Go, thanks to VS Code and Azure

Julien Dubois on June 17, 2019

As developers we always seek to have the most efficient environment, and that often means buying a high-end laptop. We're going to see in this post...
Collapse
 
vivaladan profile image
Daniel Revell

Interesting article. Thanks for the effort in the perf numbers. I think you forgot the killer feature from my perspective. Battery life improvements not having to run all that code locally.

Collapse
 
broady profile image
Chris Broadfoot

Which has the equivalent downside: can't access your code in the cloud when you're offline or with a crappy connection.

Collapse
 
jdubois profile image
Julien Dubois • Edited

Oh you're right! My Macbook Pro used to have only 2 hours of battery time when my Surface Go lasts all day... There's probably a very interesting ecological argument here, between the used batteries, the less efficient power usage and the power sources which are probably greener in a datacenter than in a city. Also, less heat in the office during the summer!

Collapse
 
joeschr profile image
JoeSchr • Edited

I use a Chromebook 14 to remote develop. it's the best of all worlds with really outstanding battery life and good keyboard. also light and costs half of the surface. what you get from apple is a joke in comparison (price, keyboard breaking with dust, performance).

also you can use Google remote desktop to have an desktop experience and battery life is still great. but I think you could also using something like coder.com, last time I tested it, it was not for me yet, but I think it came a long way since then...

Collapse
 
philcartmell profile image
Phil

Do these costs factor in disk storage - from experience premium disks are expensive and are charged even when VM is not in use? Although maybe this has changed in recent times.

Collapse
 
jdubois profile image
Julien Dubois

No, I just used the VM price, as I expected the disks to be small and cheap (same thing for network, etc). Indeed, premium disks are more expensive, which is logical, but for a small disk that shouldn't make a huge difference according to azure.microsoft.com/is-is/pricing/...
When the VM is not in use, I guess you are always charged, even for standard disks, as long as you use them. You could create a snapshot to save them, but personally I just recreate everything - it's just temporary stuff for the day, I have a script that sets up everything, and at the end of the day I commit everything and kill the whole thing (in fact I delete the resource group).

Collapse
 
qm3ster profile image
Mihail Malo

Serverless developer machine xD

Collapse
 
theodesp profile image
Theofanis Despoudis

The pricing is very appealing compared to iPad.

Collapse
 
jhuebel profile image
Jason Huebel • Edited

I have the Surface Go w/LTE. Nice little machine. I actually replaced my 2017 iPad Pro with it, since I couldn't justify spending $1,300 minimum on latest iPad Pro model.

I don't think you're comparing apples-to-apples (pun!), though. If you're looking for a pure tablet experience, the Surface Go isn't it. In fact, Windows isn't it. Unfortunately, iPads are the only pure tablet experience I can think of. Android tablets continue to suffer from vendor fragmentation and mostly sub-par specs. Windows tablets suffer from Windows.

Obviously, even though I'm bashing on Windows here, I have a Surface Go that I like very much. But it really isn't a tablet. It's a netbook in tablet's clothing. Once you understand that, it's a nice little device.

Collapse
 
rhymes profile image
rhymes

Windows tablets suffer from Windows

This is funny 😊

Collapse
 
jdubois profile image
Julien Dubois

Yes, totally agreed!!

Collapse
 
lego2048 profile image
laurent

Nice article.
The front-end part (webpack + hot reload) run locally ?

Collapse
 
jdubois profile image
Julien Dubois

Thanks ! For this post I only wrote about the backend, but you can have indeed the whole JHipster stuff running on the server, including Webpack with hot reload. All you need to do is open an SSH tunnel on port 9000.