2011-02-27, 00:30
  #1
Medlem
Hej!

Jag är mitt i processen av att köpa en ny bärbar dator som kommer användas mestadels till webbutveckling men har lite svårt att välja om jag ska köpa en Macbook Pro eller en "vanlig" bärbar dator. Vad använder ni och vad är fördraget? De flesta screencasts jag ser om webbutveckling verkar använda Mac och vad jag har hört så finns det flera bra IDEs till Mac (Coda, Espresso osv) vilket är svårt att få tag på till Windows vad jag vet.

tl;dr: Vad föredrar ni?

MVH
Citera
2011-02-27, 01:17
  #2
Medlem
snousers avatar
Rails (≈ Ruby) + JavaScript + OS X = ~ 700 000 projekt på Github.

OS X är enligt min mening gjort för ~ två sorters personer.
Min farmor som inte kan något om datorer, som vill att allt ska fungera out of the box.
Sedan har du utvecklarna, då inkluderat mig själv.

OS X har i dagsläget allt man kan tänka sig för en (webb)utvecklare.
Speciellt utmärkande är terminal-stödet som används större delen av utvecklings-tiden.
Homebrew som pakethanterare för att installera allt som fattas i utvecklingsväg.
I Apples utvecklingspaket som följer allt med som kan tänkas behövas, så som Ruby, Python, Rails, Erlang os.v

Riktigt bra och fungerande applikationer om man föredrar GUI i stället för terminalen.
Så som Git-Tower och Versions.

Som editor så är Textmate eller Kod-App att rekommendera.

En nära vän till mig var med på ett Gotrb-möte (ett möte för Ruby-utvecklare) här om veckan.
Han berättade i efterhand att han aldrig hade sett något liknande.

30-tal utvecklare som sitter med någon slags MacBook (Pro eller Noob), använder Github, testar sönder sina applikationer enligt BDD-mönstret, jobbar med Rails eller Ruby, sitter med editorn Textmate.

En mycket trevligt community med fruktansvärt innovativa och bra utvecklare, något som jag inte har sett någon annan stans.
Citera
2011-02-27, 01:17
  #3
Medlem
FreedomFighter-s avatar
Något Unix baserat, Linux eller Mac OSX.
Citera
2011-02-27, 01:26
  #4
Medlem
snousers avatar
Citat:
Ursprungligen postat av FreedomFighter-
Något Unix baserat, Linux eller Mac OSX.
+1

Personligen tycker dock att det är trevligt att falla tillbaka på mormor-rollen och inte behöva mecka med saker och ting. Linux är enligt tidigare erfarenhet lite som VIM, allt går att göra, frågan är bara hur mycket tid man har att ställa in och leta efter lösningar på saker och ting. OS X är lite mer; så här bör det fungera, oj de gjorde de.

Orkar man med detta, vilket jag efter ~ 8 års meckande inte gör, så är ett OS som Ubuntu inte alls fel. Just nu sitter jag mer i konsolen än i GUI:t, under utvecklingsprocessen, när jag väl är klar så vill jag ha ett trevligt GUI att falla tillbaka på.
Citera
2011-02-27, 01:56
  #5
Medlem
PungPillarens avatar
Mac eller Windows. Linux är uteslutet pga brist av Photoshop.

Själv använder jag Windows dagligen för webbutveckling och jag har allt jag behöver. Jag kan inte tänkte mig att Mac är sämre.

Det som behövs är rimligen: Bra texteditor/IDE, FTP/SCP-klient och Photoshop (nej, Gimp duger inte).

Så jag tycker du ska välja det OS du är mest bekväm med.
Citera
2011-02-27, 02:45
  #6
Medlem
Alright, då blir det troligen en Mac isåfall då de dessutom är så grymt snygga! Tänkte fråga här istället för att skapa ytterligare en tråd i Hårdvara-delen och ni kanske har lite bättre koll:

Har ni iMac/MacBook/MacBook Pro/Mac Pro, eller kanske två av dem? Jag sitter och funderar mellan iMac och MacBook Pro. En MacBook Pro för att kunna vara lite mer portabel skulle väl vara skönt men inget nödvändigt samtidigt som en 27" skärm i iMac lockar otroligt mycket. Någon som har någon av iMac/MacBook Pro som kan säga hur väl det fungerar att köra typ Photoshop CS5, webbläsare, IDE, Spotify (elr liknande) samtidigt? Vill inte ha det minsta lagg när jag arbetar i Photoshop osv.
Citera
2011-02-27, 03:24
  #7
Medlem
snousers avatar
Citat:
Ursprungligen postat av PungPillaren
[...]Windows[...]

Det är väldigt sällan man 'träffar' på en livs levande Windows-utvecklare, passar därför på att ställa lite frågor.

Då du inte har tillgång till terminalen under utvecklingsprocessen så fungerar jag lite på vilka alternativ du har och hur du jobbar.

Några saker som jag kommer att tänka på, saker som jag gör flera (i många fall hundra) gånger om dagen.

- Versionhantering

GUI:n till OS X i form av versionshanterare (länkade till dem längre upp) finns det gott om.
Personligen tyckte jag dock att det tog för långtid att göra 30 commits under ~ en timme i ett GUI. Valde ganska snabbt just terminalen framför GUI:t och då även att mappa kommandot 'gg' till 'git add . && git commit -m "$*"' för att med tre tecken, gg och mellanslag, enkelt och snabbt kunna göra commits.

Saker som jag gör flera gånger under en kortare period har jag personligen en tendens att fuska med. Jobbade som sagt mot en GUI i början, men valde snabbt bort applikationen p.g.a tiden det tar att navigera sig till rätt ställe.

Här handlar det inte om förlorad tid, utan risken att tappa koncentrationen och ett fungerande arbetsflöde.

- Tester

I börjar i utvecklingsprocessen så undviker jag i största möjliga mån att interaktera mot externa miljöer så som GUI-ramverk (te.x Swing i Java) eller webbläsaren. Just för att enklare isolera applikationen och minska risken för fel. Testerna körs då i terminalen och kickas igång så fort en fil sparas, resultatet visas sedan m.h.a Growl. Exakta felmeddelanden visas sedan i terminalen, om man är intresserad.

Att på något sätt blanda in en webbläsare är för mig helt uteslutet, då man i många fall i början av projektet bara vill implementera sin algoritm och se att så att ens tester går igenom.

Om du nu testar din applikation direkt i webbläsaren, vilket test- ramverk/svit använder du i så fall?
Har inte hittat någon själv nämligen.

Observera att jag syftar på tester implementerad i kod, inte 'klicka runt i sina applikation 1 gång om dagen-tester'.

- Debugging

Skulle jag av någon anledning vilja debugga min kod och se vad som händer på en viss rad så kan jag enkelt säga till runtime-motorn att stanna vid en specifik rad. I mitt fall genom att lägga in kodraden 'debugger'.

Servern kommer då att stanna på den specifika raden under exekveringen, jag kan då hoppa runt i koden, köra liten egen kod os.v.

- Logging

All logging från i princip alla utvecklingsmjukvaror kan printa ut information direkt till STDOUT under körning. Man kan då enkelt se exakt vad som händer för att snabbt och enkelt kunna lösa problemet, vare sig det är optimering eller en bugg fix.

Webbservern som körs under utvecklingen (som f.ö är inbyggd i OS X, WEBrick) printar te.x ut alla SQL-förfrågningar, hur långtid vyn tog att rendera och hur långtid SQL-satserna tog att köra.

- Applikationer utan GUI:n

Majoriteten av verktygen jag använder under utvecklingsprocessen är konsol-baserade, vilket jag personligen tycker är bra.
Den främsta anledningen är att utvecklarna av applikationen inte behöver lägga ner tid på något GUI. Ta Git som exempel. Core-teamet har inte lagt en sekund på att jobba på något gui utan har istället valt att jobba vidare på funktionaliteten av själva mjukvaran. Att skapa ett fungerande, funktionsdugligt och framför allt snyggt GUI tar tid från övriga utvecklingsprocessen.

Kortfattat; Många projekt så som Homebrew (pakethanterare till OS X) har kommit så pass långt som dom har gjort just för att inget GUI har implementerats.

Jag anser därför att det är enklare att tillverka smarta och små utvecklingsapplikationer till Linux och OS X just eftersom utvecklaren inte behöver bry som om något GUI. Enkelheten medför i sin tur fler applikationer. Ta som tidigare sagt en titt på Github.

Observera att mitt resonemang är riktat mot mjukvaror som utvecklare jobbar mot eller med, så som PostgreSQL, git, svn eller homebrew, inte vardags-applikationer som Chrome eller en MSN-klient.

Hur jobbar du med/mot ovanstående punkter?

Jag är som sagt bara nyfiken, jag påstår inte på något vis att du ditt arbetsflöde eller dina verktyg skulle vara mindre bra.
Citera
2011-02-27, 04:06
  #8
Medlem
snousers avatar
Citat:
Ursprungligen postat av Achent
[...]Har ni iMac/MacBook/MacBook Pro/Mac Pro, eller kanske två av dem?[...]

Har en MacBook, MacBook Pro och en MacMini i min ägo.
Sitter för tillfället på en MacBook Pro:n, 13" - SDD. Extremt snabb.

Citat:
Ursprungligen postat av Achent
[...]Jag sitter och funderar mellan iMac och MacBook Pro.[...]

Valet beror lite på vad du ska ha den till. Personligen så bär jag runt på min dator överallt, valde därför en liten portabel variant under mitt senaste köp; MacBook Pro:n 13"

Den följer med till skolan varje dag. MacBooken 13" (den vita) var även med på en tågluff i ~ 3 veckor, vilket fungerade bra. Dom tar ju ingen plats.

Citat:
Ursprungligen postat av Achent
[...]samtidigt som en 27" skärm i iMac lockar otroligt mycket.[...]

Varför inte koppla in en 27" skärm direkt till MacBooken?
Själv har jag en 27" Samsung-skärm till MBP:n och en 23" till MacMinin.

Citat:
Ursprungligen postat av Achent
[...]Någon som har någon av iMac/MacBook Pro som kan säga hur väl det fungerar att köra typ Photoshop CS5, webbläsare, IDE, Spotify (elr liknande) samtidigt? Vill inte ha det minsta lagg när jag arbetar i Photoshop osv.

Photoshop är inget jag använder själv, min fungerar dock bra körande ett 20-tal GUI-applikationer, ett 10-tal server-relaterade mjukvaror, så som PostgreSQL och MySQL.

Datorn har jobbat på fullvarv, utan omstart i snart 30 dagar.
Citera
2011-02-27, 12:37
  #9
Medlem
PungPillarens avatar
Citat:
Ursprungligen postat av snouser
Det är väldigt sällan man 'träffar' på en livs levande Windows-utvecklare, passar därför på att ställa lite frågor.

Då du inte har tillgång till terminalen under utvecklingsprocessen så fungerar jag lite på vilka alternativ du har och hur du jobbar.

Några saker som jag kommer att tänka på, saker som jag gör flera (i många fall hundra) gånger om dagen.

.......

Jag tror vi har väldigt olika stil när vi gör hemsidor.

För det första så utvecklar jag i php, vilket ger väldigt tydliga felmeddelanden.
Jag har tillgång till konsol med ssh, även om jag inte använder den så ofta.

Versionshantering används bara till stora projekt, det är onödigt om jag ska göra en hemsida åt ett lokalt företag. Men om jag använder det så är det oftast turtoiseSVN som jag använder. Det är bara att högerklicka på mappen/filen och "commit"/"update".

Tester är väldigt enkla att göra för mig eftersom jag använder php. Man kan enkelt stanna scriptet när som helst med exit/die och skriva ut diverse information med print_r()/var_dump() för att sedan läsa det antingen via webbläsaren eller köra det i konsolen. Med detta så är det väldigt lätt att testa funktioner/algoritmer.
Jag använder inget ramverk/svit för tester.

Jag har även en apache server (linux) hemma för att kunna testa diverse script.

Kan även tillägga att PhpDeveloper (en editor/IDE) har debugverktyg men jag har själv inte testat dem.

Applikationer utan GUI använder jag inte i huvudtaget (förutom php cli). På den fronten har osx/unix/linux övertaget utan tvekan.

Som sagt så ser det ut som vi har väldigt olik utvecklingsprocess.
Jag gör oftast hemsidor själv (om jag inte blir inhyrd som konsult) och då använder jag php/mysql och gör även designen, både photoshopdelen och klientkodsdelen (html/css/javascript). Det betyder oftast lika mycket jobb på design och klientsidan som på serversidan.
Citera
2011-02-27, 20:35
  #10
Medlem
spindrifts avatar
Citat:
Ursprungligen postat av snouser
Det är väldigt sällan man 'träffar' på en livs levande Windows-utvecklare, passar därför på att ställa lite frågor.

Då du inte har tillgång till terminalen under utvecklingsprocessen så fungerar jag lite på vilka alternativ du har och hur du jobbar.

Några saker som jag kommer att tänka på, saker som jag gör flera (i många fall hundra) gånger om dagen.
Du måste väl ändå veta att det finns en kommandotolk i windows?
Förvisso är den lite mindre kapabel än i POSIX-system, men inget i dina exempel rör funktionalitet som saknas i Windows.

Citat:
Ursprungligen postat av snouser
- Versionhantering

Om jag inte kör med ett IDE med inbyggt stöd för versionshantering har jag en batch fil som jag kör vid kompilering, så varje gång jag kompilerar kan jag välja om jag vill göra en submit.
Då gör jag i samma batch även saker som lägger in versionsinfo i uppdaterade filer med exempelvis SubWCRev.

Självklart kan man köra program för kommandopromten på Windows, och vill jag skriva "gg" för att hantera submit skapar jag helt enkelt en "gg.bat".

Citat:
Ursprungligen postat av snouser
- Tester
De flesta språk har program för unit test som du kan köra i kommandotolken om du föredrar. Du kan självfallet göra som jag beskrev med versionshantering och köra testerna vid varje kompilering.

Citat:
Ursprungligen postat av snouser
- Debugging
Nu kodar jag främst för klientsidan med Actionscript och JavaScript.
JavaScript är det exempelvis Chromes developer tools jag använder, men skulle väl gärna ha en lite smidigare lösning. För Actionscript finns det en uppsjö av utmärkta debugverktyg. Jag använder främst FlashDevelop som IDE och där kan man sätta breakpoints och inspektera alla runtimevärden i koden.

För serversidan kör jag mest PHP och ibland lite C#. Jag brukar klara mig med typ print_r och var_dump, men så brukar jag inte ta mig an jobb där det huvudsakligen handlar om att knacka serverkod. Men det går självfallet att skicka output till konsolen eller använda ett IDE typ PHPEclipse om man vill kunna sätta breakpoints för riktig debuggingfunktionalitet.

Sedan är det inga problem att köra koden på en UNIX-server även om man utvecklar på Windows. Det är enkelt att be ditt IDE att kopiera uppdaterade filer till servern vid build med hjälp av en batchfil.

Citat:
Ursprungligen postat av snouser
- Logging
Självfallet går det bra att logga det man vill på Windows.

Citat:
Ursprungligen postat av snouser
- Applikationer utan GUI:n
Det är inga problem att hitta program som man kan köra från kommandotolken. Vet inte varifrån du har fått idén att det skulle vara unikt för POSIX-system.

Exempelvis postgree, git och svn har självfallet binärfiler som kan köras från kommandotolken på Windows.
Citera
2011-02-28, 14:01
  #11
Medlem
Föredrar *nix för utvecklingen.
Kör själv ubuntu och det är utan tvekan den mest kostnadseffektiva lösningen då mac är väl att anse som ett lite dyrare premiummärke.

Som någon skrev så får man vara utan PS men jag behöver sällan använda de features som gimp saknar själv.

Min huvudsakliga nackdel med Windows är case-insensitive filsystem.
Citera
2011-03-01, 11:21
  #12
Medlem
Sweetiepies avatar
Körde tidigare Windows för utveckling men numera sedan ett par år endast Mac.

Man kan egentligen åstadkomma samma resultat. Men med en snygg dator och snyggt OS kanske innovationen kan öka? Mac OS innehåller dessutom mindre störande moment rent allmänt, man får ofta en stor skärm och ett extremt light/cleant OS så man kan fokusera på jobbet och inte alla popup-rutor och annat bös.
Mac OS 10.7 Lion som släpps i sommar har inbyggt stöd för versions-hantering på dokument också (när programmen implementerar det), vilket kanske blir användbart.
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in