I went through almost this exact journey about a year ago, and have settled on a dual-booting (Win10 and OSX) MacBook Pro.
I thought I would spend about 80% of my time in Windows and the other 20% in OSX, but actually it's more like 95% in OSX, and I only ever use Windows is I have a Windows-centric, VBA, or ActionScript project.
Each OS has its pros and cons, but if you use the machine mainly for coding, I'd say get a Mac, even though Windows 10 is BY FAR the better OS (honestly, it's brilliant).
But here are my tips and observations (has turned into a bit of a big post!).
My original Workflowy list of all setup steps, tweaks and other observations (will eventually turn into a series of blogposts) is here: https://workflowy.com/s/YnjDfjs4qf
Setup - Dual booting Macbook Pro
Pros:
- MacBook Pro 13" all the way!
- Fabulous hardware, light, powerful-enough, great connectivity
- Brilliant hardware and battery life!
- AWESOME trackpad. Just amazing. Makes working on the road ACTUALLY productive.
- You can run 3 screens on a MacBook - the laptop screen, and 2 external 1920x1080 monitors. Boom!
- Dual boot if you can. It's a major pain in the ass to set up with a Data partition (see the above link for the steps - they are many) but a good way to work as you can save everything to the one drive. You need to run NTFS drivers on OSX or alternatively HFS drivers on Windows
- Best of both worlds - you can:
- boot into either OS
- use Parallels or Fusion 8 to boot the partition WHILST IN OSX. That is pretty cool. There are some file-sharing drawbacks, and why I'm not doing it yet, but I'm hoping that I may be able to overcome them.
- Use Fusion 8 to run already-installed Windows apps standalone
- Use WINE to run Windows programs in their own window
Cons:
- Trackpad is useless in Windows (I swear Apple sabotage it on purpose) . It took me a while to just figure - get a mouse
- Using the Mac keyboard in Windows is an exercise in frustration. Don't kid yourself that you'll "learn" how to do it - you won't, and at the critical time, you'll accidentally try to use the Mac ALT-LEFT to go left, and will instead go back in history and lose your web form. Just connect a Windows keyboard and relax
- Windows / Windows software seems to have severe problems with mixed density displays. The only solution I found was to run either JUST the laptop display, or if connecting 2 x 1920x1080 screen, disable the laptop display.
- Turns out I can't upgrade to El Capitain. This is a major drawback, but nothing wrong with Yosemite, really.
Overall:
- As a Mac, it's brilliant.
- If you set the Windows side up with external everything, you won't even be able tell you're on a Mac :)
OSX
Cons:
- Window management is f***ing appalling. Honestly, it's like herding cats, and Apple should be ashamed of themselves. It takes so long to put windows where you want them, you have to move windows to their own Desktops to make them usable, you need to hold a mental map in your head of where windows are, Windows get lost behind other windows, the very fact you need Expose is a fail in itself; it's just rubbish
- File management is also f***cking appalling. I don't trust the Finder as far as I could throw it. The lack of Windows explorer is like someone cutting off your left hand when you first make the leap to Mac. I'm currently trialing PathFinder and it's not bad, but having to load a 3rd party app just to navigate your files is dumb. File management IS the OS; come on Apple.
- All these little UI animations build up - it just takes longer to do things on a Mac, because the UI has to flash, animate, swoop, or do some other dumb sh*it before you get what you want to get done. By way of an example SHIFT+Cmd N to create a new folder, immediately start typing the new name, and it skips the first couple of letters because it's still animating in
- Takes a decent amount of tweaking to get everything working the way you want to; both UNIXy stuff and 3rd party programs
- Shortcut keys - there is no system. On Windows, Win (system), Alt (menus), Ctrl (commands), Shift (modifiers) have a pretty distinct hierarchy. On Mac it's a free for all. Especially when editing text, you're constantly moving your fingers around to get things done. Hell, they can't even agree on the symbols or even names (alt/option) of their own keys, WTF! Overall - frustrating.
- You need to get used to general Mac oddness, like mounting disks, unintuitive menu item labeling, strange additional menu items, menu items closing if you mis-click on a divider
- If you're used to Outlook, prepare to discover there is no good email client on Mac.
Pros:
- AMAZING touchpad and swipe gestures; Windows simply cannot compete (though I hear the Surface Pro 4 is pretty good; battery life is a measly 4 hours). Swipe gestures are pretty much the ONLY place where I can recommend Mission Control (the Mac Desktop manager)
- Often, it really does just work
- System preferences are smaller, and more sensible
- Terminal, and general development setup is just better. No more wasted hours banging your head against the screen.
- SSH and all that kind of stuff just works. No PuTTY, Pagaent, converting keys, etc
- Pretty much all tutorials are Mac based. No more "Sorry, we don't know how to help you" on forums
- You just can't get some things to work on Windows, where they do on OSX/UNIX. End of.
Tips:
- The launcher is actually a pretty good alternative for the start menu.
- Spotlight with Cmd + Space is a neat way to find things - though to be honest, the reason is exists is because the Finder does nothing of the sort
Windows 10
Cons:
- The start menu is still sh*te. They've tried to copy the Zune / XBox / Mac way, and it just doesn't work. They need to give up on this ASAP. Luckily, you can run Classic Shell, plus my Windows 10 skin which makes it look just like the rest of the OS! https://github.com/davestewart/classic-shell-win10
- Settings / Control panel. Still a bit of a hodge-podge to be honest; I hope they will in time perfect this
- Windows Explorer still has some cludginess about it - namely all the extra folders they add, though there are registry tweaks you can apply to kill them.
- Getting a decent development setup working is HARD. I eventually settled on SourceTree for everything Git, as it takes care of SSH for you. The terminal is poor, unless you run Cmder or something, but you shouldn't have to. Can't wait for the UNIX command line to arrive!
Pros:
- Windows 10 really is a great OS. It makes OSX feel like it was designed in the 70s
- Window management is AMAZING! Snapping, moving, multiple desktops, it's just perfect. Well done MS.
- Windows Explorer is THE way to manage files. Can't fault it.
- Keyboard shortcuts all obvious and rock solid
- Classic Shell start menu :)
- Everything just feels quicker than a Mac.
- Office suite is still better on Windows
Overall
Overall, I'd say that working in OSX is a compromise. But it seems to be a compromise I've stuck with - the proof is in the pudding - for development, anyway. And all your settings end up being in one place, so I don't like to swap as much as I thought I would.
I moan about it constantly to certain friends who care about this kind of thing, but I'm still using it.
When you're using Terminal, PHPStorm and Chrome as your 3 main apps, and you can ignore the rubbish window management, it's pretty good. Work gets done, websites get built, and as I said, on the road, it's an unbeatable laptop.
As for all the i-stuff; I don't know - as mentioned at the start, it's JUST become a work machine now. My PC used to be a bigger part of my personal life, so my usage has kinda changed.
Congrats if you got to the end of this, reader!