OMT Driehoek Copy 3

Windows software-ontwikkelaar werkt uitsluitend met… Macs

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.

Archief