Windows software-ontwikkelaar werkt uitsluitend met… Macs

20 reacties

Dat een Mac in vrijwel alle zakelijke omgevingen uitstekend zijn diensten kan bewijzen, en hiermee zijn Windows-evenknie op gebieden als veiligheid, integratie en gebruiksgemak ver achter zich laat, mag ondertussen genoegzaam bekend zijn. Er is echter één vakgebied waarbij zelfs de meeste fervente Apple-fanaticus een Windows-PC op zijn plaats zal vinden, namelijk software-ontwikkeling voor het Windows-platform.

Toch kan zelfs hier het gebruik van een Mac meerwaarde bieden, zo wijst de praktijk uit. Een goede vriend van me is ontwikkelaar van Windows-software en heeft al ruim 10 jaar zijn eigen bedrijf, dat software produceert voor een specifieke sector uit de cosmetica-branche. Hij werkt uitsluitend met Macs binnen zijn bedrijf, en het computernetwerk is uitegerust met een Mac-server. Waarom maakte hij enkele jaren geleden de overstap naar de Mac, en wat zijn zijn ervaringen?

Ontwikkeltaal alleen voor Windows

De ontwikkelomgeving waarmee zijn software is gemaakt is volledig gebaseerd op Microsoft’s Visual Studio. Dit heeft met name een historische grondslag. Ruim een decennium geleden werd er door de toenmalige marktomstandigheden gekozen voor deze tools, en omdat zijn product door de jaren heen steeds verder is uitgebouwd is de afhankelijkheid van Microsoft’s ontwikkelgereedschap dusdanig groot, dat de overstap naar een andere (multi-platform) ontwikkelomgeving nauwelijks het overwegen waard bleek. Programmeertalen als Real-Basic (die voor meerdere platforms beschikbaar zijn) bieden niet het grote aantal third-party componenten dat wel voor Visual Studio beschikbaar is, en bleken in dit geval dus geen haalbaar alternatief.

Mijn vriend is al jarenlang een enthousiast Mac-gebruiker, en beschikt met zijn gezin over verschillende Macs die intensief gebruikt worden. Niet verwonderlijk dus dat bij hem enkele jaren geleden de vraag rees of het mogelijk was om ook binnen zijn bedrijf de overstap naar de Mac te maken. Gezien de afhankelijkheid van Windows-ontwikkelgereedschap moest echter worden bezien of de overstap meer voordelen dan nadelen met zich mee zou brengen.

Waarom naar de Mac?

De redenen die hij aandraagt om liever zijn werkdag achter een Mac door te brengen dan achter een PC, zijn eigenlijk universeel toepasbaar op elke Mac-gebruiker. De Mac OS X omgeving biedt tal van elegante, goed uitgevoerde en efficiëntie-verhogende functies die het leven van elke computergebruiker aangenamer maken.

Bestandsbeheer
Zoals elke onderneming van bepaalde omvang heeft hij in zijn bedrijf op de eerste plaats te maken met een groot aantal bestanden van velerlij pluimage. Denk bijvoorbeeld aan gebruikersdocumentatie, afbeeldingen of facturen. Alle bestanden worden opgeslagen op een centrale Mac mini server, en zijn doorzoekbaar op alle werkplekken middels Spotlight. Bestanden kunnen worden ingezien met Quick Look. De zoek- en vertoningsopties in de Finder, waaronder CoverFlow, maken het beheren en werken met grote hoeveelheden en een grote verscheidenheid aan bestanden een verademing.

Backup
Het backuppen van bestanden is voor elk bedrijf cruciaal, en zeker in een omgeving waarin met groot tempo nieuwe bestanden worden gecreëerd of aangepast. Omdat alle bestanden worden weggeschreven op de Mac mini server, worden deze automatisch gebackupt middels Time Machine naar een Time Capsule. Zoals bekend is Time Machine een erg efficiënte en goed geintegreerde backupservice in Mac OS X, die met regelmaat nieuwe versies van bestanden kopiëert. Zo is het altijd mogelijk om vorige uitvoeringen van een bestand terug te vinden, hetzij via de bekende “space”-interface die een grafische weergave biedt van de tijd waarin een bestand werd aangepast, hetzij door het simpelweg “mounten” van de backup-schijf, en met de Finder het gewenste bestand te zoeken.

Mail en agenda
De Mac mini server dient niet alleen voor de opslag van bestanden, maar doet tevens dienst als mail-server. Hiertoe wordt gebruik gemaakt van Kerio Mailserver. We schreven al vaker over Kerio, dat een uitstekend alternatief is voor de complexe en prijzige Microsoft Windows Server / Microsoft Exchange-combinatie. Op de desktops gebruiken hij en zijn medewerkers Apple’s Mail, Adresboek en iCal voor het beheren van e-mail, contactgegevens en afspraken. Onderweg kunnen de gegevens worden geraadpleegd met de iPhone, waarmee alle medewerkers eveneens toegang hebben tot hun mail en agenda.

Overige OS X functies
De algemene voordelen van Mac OS X zullen lezers van deze site niet vreemd zijn. En óók een Windows-programmeur kan hier zijn voordeel mee doen. Denk aan praktische zaken als Dashboard, waarmee snel de status van bijvoorbeeld een FTP-transfer kan worden gecontroleerd, of de status van een bestelling. Of iChat, waarmee de medewerkers niet alleen kort textueel contact kunnen hebben, maar waarmee het bijvoorbeeld ook erg eenvoudig is om even het beeldscherm van een collega over te nemen om hem of haar met een probleem te helpen. Zelfs de supportwebsite werd gemaakt met iWeb, technisch gezien dan wel geen onderdeel van OS X, maar door zijn eenvoud in gebruik en de integratie met de overige Mac-componenten een dankbaar hulpmiddel om klanten snel te voorzien van de laatste informatie.

Mac-software
Tenslotte kan in dit rijtje worden genoemd dat het met een Mac uiteraard mogelijk is om specifieke Mac-software te gebruiken. De basis-ontwikkelomgeving is dan immers wel gebonden aan Windows, maar dat geldt niet voor de overige programma’s die in het productieproces gebruikt worden. Denk aan programma’s om grafische bestanden te maken of bewerken, of de tekstverwerkers waarmee de gebruiksaanwijzingen en andere documenten worden geschreven.

Virtualisatie: de voordelen

Zoals gezegd worden de programma’s van het bedrijf ontwikkeld met Microsoft’s Visual Studio, een pakket dat (uiteraard) alleen voor Windows beschikbaar is. Het was dus zaak voor mijn vriend om zich te buigen over de virtualisatie-opties voor de Mac om zodoende Windows, tezamen met de gewenste ontwikkeltools, te kunnen installeren. De twee grootste spelers op dit vlak zijn VMware Fusion en Parallels Desktop, die beiden een vergelijkbaar product met vergelijkbare features aanbieden, en waarvan zelfs de prijzen elkaar nauwelijks ontlopen.

Hoewel hij vermoedde dat het draaien van virtuele OS-sessies voor de ontwikkeltools een extra complexiteit zouden introduceren, bleek in de praktijk dat het gebruik ervan nagenoeg alleen maar voordelen met zich meebracht.

Ontwikkelomgeving los van “generieke” computertaken
Door in de Windows-omgeving binnen de virtuele machine alléén maar de vereiste ontwikkelgereedschappen te installeren, blijft deze Windows-installatie relatief klein en snel. Het is niet nodig om ook Outlook te installeren voor mail, of Word voor het schrijven van documenten, laat staan dat er allelei drivers en plugins geinstalleerd hoeven te worden om diverse randapparaten te kunnen gebruiken. De kans dat er conflicten ontstaan tussen softwarecomponenten wordt daardoor evenredig kleiner. Mocht er desondanks toch iets misgaan in de Windows-omgeving (en laten we eerlijk zijn: die kans is niet gering), dan is het met een virtuele machine relatief eenvoudig om een eerdere “snapshot” weer terug te plaatsen, en binnen enkele minuten weer aan het werk te zijn.

De werkbestanden, waaronder uiteraard de geschreven programmacode in Visual Studio, blijven onaangetast bij deze procedure omdat die, zoals hierboven beschreven, immers worden weggeschreven op de centrale Mac mini server.

Verschillende Windows test-versies
Voor elke software-ontwikkelaar geldt dat zijn software op verschillende versies van het besturingssysteem dient te worden getest voordat deze kan worden uitgeleverd aan klanten. Dit geldt in het bijzonder voor Windows-ontwikkelaars, omdat er zoals bekend nogal wisselende resultaten kunnen optreden bij het gebruik van Windows XP of Vista, al dan niet voorzien van een bepaalde service update of patch.

Voorheen gebruikte mijn vriend hiervoor een test-PC met daarin verschillende harde schijven met daarop diverse Windows-installaties. Nu heeft hij hiertoe een groot aantal verschillende virtuele machines ingericht met daarop alle mogelijke software-combinaties, zodat het testen van nieuwe versies veel sneller kan plaatsvinden. En na het testen kan de virtuele machine direct weer naar zijn oorspronkelijke staat worden teruggebracht, zodat de volgende test weer “schoon” kan verlopen.

Als bijkomend voordeel merkte hij op dat de virtuele machines relatief generieke hardware nabootsen, wat een goed uitgangspunt is bij testwerkzaamheden. De kans dat specifieke hardware-componenten in een computer de tests beïnvloeden wordt daarmee in vergelijking kleiner.

Beveiliging
Omdat de virtuele machine niet voor generieke computertaken als het raadplegen van het web of het lezen van e-mail wordt gebruikt, is een Internetverbinding vaak niet nodig. In de virtualisatiesoftware (en op de router) is het eenvoudig om de toegang tot het Internet voor deze virtuele machines te blokkeren of te monitoren. De kans dat er ongewenste gegevens en malware op de virtuele Windows-sessie terecht komen is dan ook klein. Mocht de Windows-installatie onverhoopt toch gecompromitteerd raken, dan is het zoals hierboven beschreven eenvoudig om een “schone” snapshot terug te plaatsen.

Virtualisatie en de integratie met de Mac

Uiteraard is virtualisatie-software ook beschikbaar voor Windows. VMware begon zijn business zelfs op dat platform, en is daar tevens marktleider. De bovengenoemde voordelen van virtuele machines zijn dus ook dan van toepassing.

Toch is het juist het gebruik van virtualisatie software op de Mac wat mijn vriend zo aanspreekt. Een Windows-ontwikkelaar kan zo gebruik maken van Mac OS X en alle eerder genoemde voordelen, en hoeft slechts voor het daadwerkelijke programmeren (en het testen) gebruik te maken van Windows. In dat licht moet worden opgemerkt dat zowel Parallels als VMware hebben gezorgd voor een naadloze integratie tussen Windows en de Mac.

Zo kan er naar hartelust worden geknipt en geplakt tussen programma’s in beide besturingssystemen, en kunnen er bestanden over en weer worden gesleept. Wanneer de functie wordt ingeschakeld waarmee de Windows-omgeving als het ware onzichtbaar wordt gemaakt voor de gebruiker, en alleen de daadwerkelijk gebruikte Windows-applicaties zichtbaar zijn (Unify bij VMware en Coherence bij Parallels), kan de gebruiker zelfs tussen Windows- en Mac-programma’s schakelen in de Dock, en worden afzonderlijke Windows-vensters getoond in Exposé.

Conclusie

Bij het bedrijf van mijn vriend wordt een Mac mini gebruikt als bestands- en mailserver, is de primaire werkmachine een iMac met groot beeldscherm, wordt een MacBook Pro gebruikt tijdens bezoeken aan klanten, en werken administratieve medewerkers met een MacBook Air.

Vaak wordt, met name door werkgevers en IT-beheerders, verondersteld dat een Windows-computer noodzakelijk is voor zakelijk gebruik. Dit standpunt is echter met de jaren steeds lastiger te verdedigen. Van vrijwel alle zakelijke toepassingen is een Mac-versie danwel een adequaat Mac-alternatief voorhanden, en de uitwisseling van bestanden en data tussen Windows-PC’s en de Mac vormt vrijwel nooit meer een probleem.

Hoewel het aantal gestaag afneemt, blijft er Windows-only software bestaan waarvoor het dus nodig is om Windows te gebruiken. Het maken van software voor Windows-computers in een Windows-ontwikkelomgeving lijkt daarvan het meest illustratieve voorbeeld. Toch laat dit praktijkvoorbeeld zien dat ook hier op relatief eenvoudige wijze een Mac kan worden ingezet, waarmee nagenoeg alle voordelen van het werken met een Mac ook voor dit type gebruikers beschikbaar komen.

Wat mijn vriend betreft… die is de laatste tijd voorzichtig aan het snuffelen aan XCode. Want ontwikkelen óp een Mac is een ding, ontwikkelen vóór de Mac is iets wat ook in de markt waarin hij opereert steeds relevanter wordt.

Reacties

20 reacties
  • Profielfoto
    maclover111

    Mooi artikel.
    ik heb het met plezier gelezen :)

  • Profielfoto
    The JM

    Super! Verstandige werkgever haha;)

  • Profielfoto
    macjk

    super stuk zo had ik er nog nooit over nagedacht.

  • Profielfoto
    Appletosh

    goed verhaal

    een link naar zijn site is dat mogelijk?
    of naam van software dat hij ontwikkeld heeft?

    :D

    de meeste bedrijven vinden het z’n gedoe
    om over te stappen op macs, mooi dat hij het
    goede voorbeeld geeft. het kan dus wel zeker.

  • Profielfoto
    tipex

    Erg leuk om te lezen, zit in een vergelijkbare situatie en vond het erg herkenbaar.

  • Profielfoto
    Mibber

    Ik gebruik voor een aantal Microsoft business intelligence projecten ook Visual Studio in VMware Fusion op mijn macbook, werkt prima!

    Bij klanten over de vloer heb ik erg snel internettoegang geregeld, en ook het vinden van netwerkprinters gaat vaak een stuk sneller dan bij mijn windows collega’s;-)

  • Profielfoto
    topaj

    Ik ook…

  • Profielfoto
    fredmatrack

    Als hij met Visual Studio werkt, ben ik benieuwd of hij reeds met Mono gewerkt heeft en wat de ervaringen zijn.
    http://www.mono-project.com/Main_Page

  • Profielfoto
    awflierman

    “De werkbestanden, waaronder uiteraard de geschreven programmacode in Visual Studio, blijven onaangetast bij deze procedure omdat die, zoals hierboven beschreven, immers worden weggeschreven op de centrale Mac mini server”

    Version control met SVN? Geen TFS?

  • Profielfoto
    deenel1987

    Momenteel maak ik ook gebruik van parallels om Autodesk Inventor te draaien in windows.
    Om een of andere reden draait dit programma vlotter in parallels dan in VMware.
    Het voordeel van deze virtuele machines is echt wel dat ze vlot kunnen werken zonder antivirus software en dergelijke aangezien alle internetactiviteiten op mac gebeuren.

    Hopelijk komt er snel een osx variant van Inventor!

  • Profielfoto
    wmstudio

    Ik gebruik Windows in een Parallels VM ook alleen maar omdat een database ontwerp pakket dat ik gebruik alleen maar beschikbaar in voor Windows. Mijn Windows VM’s hebben geen toegang tot internet. Voor de rest gebruik ik VM’s om Linux/FreeBSD server omgevingen te testen.

  • Profielfoto
    myunclesmailman

    Leuk artikel!

    Overigens heet de optie in VMware niet Unify, maar Unity.

  • Profielfoto
    thom16

    Conclusie Mac blijft EyeCandy;-)

    Als de voordelen: Time Machine, Quicklook zijn, weet ik niet of dat sterke punten van mac os x zijn, op Windows maar ook op Mac kun je voor zulke problemen beter zelf specifieke tools maken…
    Het bestandsysteem zal op een windows altijd “beter, sneller” zijn als op een mac, want dit is een beperking in Unix… Open maar is Core Services in mac duurt een tijdje voordat je alles ziet, en ook hoe meer homescreens hoe voller bureaublad hij wordt langzamer…
    ;)

  • Profielfoto
    timmyboy

    ach, zo was ik twee jaar geleden op IBC en daar zat achter de schermen van de windows stand ook een geek met een mac de slideshow te bedienen.

    Viendinnetje werkt bij MS en heeft een MBP. Gaat alleen niet mee naar kantoor…

  • Profielfoto
    Cenobyte

    @thom16: da’s jouw mening, die deel ik beslist niet.

    Ook ik draai op mijn werk (Windows2000 server met ongeveer 10 client computers) met steeds meer Mac’s nadat ik 4 jaar geleden besloot om mijn Windows PC als test te vervangen door een Mac. Het werkte allemaal prima en inmiddels zijn er al 3 client pc’s vervangen door iMac’s van diverse pluimage. Binnenkort komt bij mij thuis de nieuwe 27″ te staan en gaat mijn huidige iMac ook weer naar het kantoor. Ik vind de voordelen veel verder gaan dan alleen eye candy.

    Het bestandsbeheer is echt wel beter. Windows machines zijn soms erg onduidelijk als je naar een server of andere computer gaat om een bestand op te halen. Ook het beheer van de Mac’s is vele malen simpeler en genereert veel minder werk dan een Windows machine. Ik heb niks te maken met anti-virus software (alleen op de Win2000 server nog) en neem inderdaad gemakkelijk even een scherm over van een collega als hij een vraag heeft. Wij werken met in Real Basic ontwikkelde software die zowel op Windows als op Mac werkt (op Mac trouwens beter) en dat gaat perfect.

    Ook de zaken die in het begin nog in Windows moesten (Exact boekhouding, Rabo Telebankieren e.d.) draaien nu vrolijk op de Mac zelf.

  • Profielfoto
    chatsmit

    goed artikel! Een mooie aanvulling was geweest als er hier en daar een fotootje tussen stond:-)

  • Profielfoto
    spacefreek

    Als ingenieur zit ik ook veel vast aan Windows, denk aan programma’s als AutoCAD, Delft3D, Sobek of Matrixframe.. Programma’s als Matlab & Maple zijn er gelukkig wel voor Mac:)

  • Profielfoto
    captnemo

    Mooi verhaal over deze vriend, maar het leest alsof er aan een ideale (lees niet echte) wereld wordt beschreven.

    Een aantal zaken in software development gaan in mijn ervaring echt anders, zoals versiebeheer wat al werd genoemd, maar ook testen op VM’s. Ook administratief personeel op notebooks, en dan zeker de Air, lijkt mij niet standaard, maar dat ligt ook aan het aantal medewerkers.
    Tenslotte is de MacMini server nog niet heel lang uit, en dan gelijk overgestapt? Voor dataopslag lijkt mij de Mini Server met rond 500GB mirrorer niet voldoende, nog andere oplossingen daarbij?

    Wel leuk om te lezen.

  • Profielfoto
    oldsmelly

    Ik ontwikkel ook op deze manier, gebruik Parallels en diverse VM’s om te ontwikkelen en testen in MS Visual Studio en MS Visual Foxpro…

  • Profielfoto
    ctxppc