Vad är det för fel på XCode?

Tråden skapades och har fått 31 svar. Det senaste inlägget skrevs .
  • Medlem
  • Stockholm
  • 2005-11-06 22:28

I en hel massa trådar pratas det om att XCode är en sunkig utvecklingsmiljö, utan att det närmare specas vad som är dåligt. Vad är det som är dåligt med XCode?

/Dan

  • Medlem
  • Göteborg
  • 2005-11-06 22:43

Det är kanske en vanesak. Jag trivs väldigt bra med att använda XCode. Kan bli lite rörigt med många fönster i mellan åt bara...

Personligen tyckte jag också att xCode var perfekt när jag började använda det. Men ju mer jag använt det så börjar jag irritera mig på småsaker såsom att man måste gå djup in i menyer varje gång man ska hitta ett objekt eller varje gång man växlar mellan IB och vCode så återställer sig en av paletterna.

  • Medlem
  • Göteborg
  • 2005-11-13 11:57

Ingen som ville ta chansen och klaga lite?

Performance. Xcode är fruktansvärt långsam på det mesta när man har ett större projekt. 2.2 löste en del problem genom att tråda dependencyhantering, men det känns fortfarande alldeles för långsamt.

Jag har inte använt XCode så mycket så jag kan ha fel/missat något i XCode, men när jag kodar java saknar jag bl.a följande saker:

- Refactoring - man kan inte byta namn på klasser/paket etc vilket är otroligt skönt att kunna göra när man arbetar med större projekt

- Javad-doc comments coloring o formatting - man får inte sina javadoc-comments i separat färg + man får inte sina javadocs autoformattade på ett snyggt sätt.

- Javadoc linking - man kan inte få upp javadocavsnittet för en av sina funktioner/klasser enkelt

- Automatic building - det går 100gr snabbare att utveckla om IDE:n bygger projektet hela tiden, istället för precis innan man ska köra det

- Vettigt Subversionstöd - stödet för subversion är bara skumt, nån som använder det fullt ut ens?

- Vettig Outliner - man kan inte få en snabb enkelt överblick av klassen man jobbar med (utan att ta upp nåt slags supermega-fönster..)

- Vettiga felmeddelanden - XCodes felmeddelanden från javac är riktigt dåliga, man måste läsa igenom loggen och sånt

Debugging har jag inte hunnit testa i XCode.. (tyckte väl inte det va värt det..)

Eclipse löser alla dessa problem, och det är också gratis Så när jag kodar java är det inget snack om saken, Eclipse whoppar XCodes ass flera gånger om. Men det kanske inte är så konstigt iom att Eclipse är gjort för javakodning.

Andra saker som Eclipse har som är sjukt bra:

- Auto TODO-sense - alla kommentarer som börjar med "//TODO" registreras som todos och hamnar i en lista som man kan kolla igenom, riktigt bra, speciellt när man är flera på ett projekt

- Otroligt stort plug-in-bibliotek - där finns allt man kan tänka sig som plugins: uml, xml-editor, projekt-managament, ftp, bla bla.. och det bara växer..

- Symbol-focus - man kan highlighta t.ex en variabel så att man tydligt ser alla ställen den förekommer på i en klass lätt

- Auto-formatting - man kan lätt se till att ens filer får snygg formattering

- Bra syntax-checking - kan känna t.ex av kodsnuttar som logiskt sätt aldrig kommer att nås, eller variabler som inte används m.m..

- Java 1.5-stöd out of the box - Har stöd för SDK 1.5 (Java 5) utan att man behöver rota i system-filer.

- Override/implement agents - lätt att skriva implementationer på t.ex interface-klasser - man får välja vilka metoder man vill imlementa ur en lista och klass-strukturen skapas automatiskt - sparar en jävla massa dötid..

- Getter/setters agent - lätt att skapa horder av get/setX-metoder genom att bara välja variabler ur en lista.. sparar massa dötid

- Javadoc agent - man kan skapa dokumentation över hela sitt projekt i tre knapp-klick.

- Korrekt source-tree struktur - Eclipse håller java-filer i ett enligt java-standarden korrekt filträd så att man lätt kan använda filerna i ett annat projekt - XCode lägger filerna hur som helst.

Däremot är det typ omöjligt att utveckla native java MacOS-apps i Eclipse - då är man nog tvungen att köra XCode (?)

Sen när jag kodar PHP så saknar jag följande saker i XCode:

- PHP/apache/mysql-stöd

ciao

Snabbheten är dålig, och stabiliteten har i alla fall i tidigare versioner varit botten. Man drar igång en kompilering, och på bästa 80-talsvis tar det evigheter, men det är delvis för att den ofta aldrig blir klar utan helt enkelt dyker efter en lång stund.

Jag kör lite Xcode, men mest CodeWarrior. CodeWarrior är inte lika snabbt och pålitligt som under OS9, men det är i alla fall en bra bit bättre, och inte minst är användargränssnittet enormt mycket bättre. Det känns mycket svårt att hitta alla inställningar i Xcode. I CodeWarrior är det inte precis lätt alla gånger men det finns i alla fall någorlunda samlat.

Debuggingen - kanske viktigaste saken i en IDE - är sådär i båda, inget som imponerar, men jag tror att CodeWarrior vinner även här.

Felmeddelandena är vedervärdiga. Det är det viktigaste näst debuggingen (om ens det) och de hanteras osnyggt. Andra IDE'er brukar slänga upp felmeddelandena direkt. I Xcode måste man plocka fram ett speciellt fönster med en liten hemlig ikon. Visst går det, men det är så klantigt gjort! Hur kan man ens få idén att gömma undan felmeddelandena som en sekundär sak (det hanteras precis som en sådan där "expertgrej" som mycket få behöver och bara ibland), medan man prioriterar helt andra saker som man skitar ner gränssnittet med?

Naturligtvis vinner CodeWarrior en massa på vanans makt, men även om jag försöker ta hänsyn till det så är Xcode frustrerande. Det är så otroligt mycket plåtter överallt, så man ser inte skogen för bara träd. "Less is more", Apple! Vet ni inte det? Ge oss enbart det väsentliga på ytan, och därifrån lättbegripliga och logiska sätt att hitta ner till de grisigare detaljerna. Det tycker jag inte Xcode gör.

Eclipse ja... Jag har den på listan över IDE'er som jag ska kolla upp, och se om den duger till annat än Java.

  • Medlem
  • Stockholm
  • 2005-12-04 10:30

Hoppas ni delar med er av era kloka tankar till Apple. Även om de säkert vet om det så är det alltid bra ju fler folk som pressar på.

..nu håller de ju på att släppa C++ Development Tools till Eclipse, så man ska kunna koda c/c++..
har inte testat men det verkar coolt

http://www.eclipse.org/cdt/

Finns det inga som jobbar på apple och som kan svenska som läser det här?

Förrästen, är XCode plugin-baserat? Anledning till att Eclipse blivit så accepterat är ju att allt är plugins coh typ open source - allt - så alla kan liksom bidra till att göra det bättre direkt.

Jag tror att om XCode var mer "öppet" skulle utvecklare själva ordna till det så som de vill ha det. Det är ju det som är tjusningen med programmerare - de programmerar. Nu kanske det redan är öppet, jag vet inte..

Ursprungligen av soul8o8:

Förrästen, är XCode plugin-baserat? Anledning till att Eclipse blivit så accepterat är ju att allt är plugins coh typ open source - allt - så alla kan liksom bidra till att göra det bättre direkt.

I någon mån ja, man kan åtminstone skriva egna makefiler kom kopplar Xcode till andra kommandoradskompilatorer än gcc. MEN, dels är det uppenbarligen knepigt för de försök jag sett fungerar ganska knackigt, och dels, för en liten tid sedan hörde jag från en kille som just jobbar med sådant att Apple lyckades sabba Xcode 2 så att det inte längre går. (Minns inte detaljerna men kan gräva fram dem vid behov.) Apple hade pajat det på något sätt. Förhoppningsvis bara en övergående bugg, men Apple är inte tillräckligt intresserade av tredjepartslösningarna för att testa mot dem och samarbeta med dem.

Med tanke på det skulle jag nog tro att framtiden är ljusare för saker som Eclipse.

  • Oregistrerad
  • 2005-12-09 15:24

Det enda riktiga jag har mot Xcode är att Code Sense är lite dåligt, det completar t ex inte structs.
Annars föredrar jag Xcode över Visual Studio 2003 och tidigare. (nyare har jag inte testat)
Om man vill använda makefiles i sitt Xcode-projekt kan man ju helt enkelt göra ett build-target som utför en scriptfil som i sin tur kör make, eftersom Xcode tar varningar och felmeddelanden från gcc genom gccs stdout så kommer det fortfarande fungera.

Senast redigerat 2005-12-09 16:08
  • Medlem
  • Stockholm
  • 2005-12-09 17:56
Ursprungligen av ptr:

Det enda riktiga jag har mot Xcode är att Code Sense är lite dåligt, det completar t ex inte structs.

Inte föra att vara sån men nu är det så att XCode faktiskt kompletterar structs....

/Kalle

  • Oregistrerad
  • 2005-12-09 18:04

Då kanske det var C-structs den inte klarade av :/

typedef struct {
...
} min_struct;

Ett annat fel är också att den inte hanterar namespaces i C++ så bra... om man inkluderar <vector> och gör ett objekt av "std::vector" så får man ingen complete på det objektet, men om man istället kör using namespace std; och gör objektet av "vector" så fungerar det.

Senast redigerat 2005-12-09 18:36
  • Medlem
  • Stockholm
  • 2005-12-09 21:03
Ursprungligen av ptr:

Då kanske det var C-structs den inte klarade av :/

typedef struct {
...
} min_struct;

Ett annat fel är också att den inte hanterar namespaces i C++ så bra... om man inkluderar <vector> och gör ett objekt av "std::vector" så får man ingen complete på det objektet, men om man istället kör using namespace std; och gör objektet av "vector" så fungerar det.

Screenshotet jag la in är också from ren C-kod, har du senaste versionen av XCode?

/Kalle

  • Oregistrerad
  • 2005-12-09 21:20

Jag kör senaste Xcode men jag upptäckte en sak nu:
Istället för

typedef struct {
...
} min_struct;

Kan man ju köra

typedef struct min_struct_ {
...
} min_struct;

Och då fungerar CodeSense!

edit:
Fast i det aktuella projektet fungerar det inte... jag använder mig inte av Xcodes egna buildsystem utan jag kallar på en scriptfil som utför själva kompileringen.
Problemet verkar vara att CodeSense inte kan hitta mina headers, var anger man det?

Senast redigerat 2005-12-10 02:54

Ah här (http://maxao.free.fr/xcode-plugin-interface/) står det:

Citat:

Apple's free IDE, Xcode, only provides support for C(++), Objective-C(++), Java, Applescript and Makefile. Although it's possible to use a Makefile for other languages, I think it's more practical to fully integrate them through dedicated plugins.

At the time I wrote this page, Xcode already has a working plugin interface (it's even used by CoreData compiler/editor, CVS/Subversion/Perforce integration, GDB debugging…). However this interface is not yet public, because not really finished. According to Apple, it'll be public in future release but no real date is provided : developers just have to wait :-(.

..ursäkta det långa urklippet.. men det verkar ju iaf som bättre tider kommer för XCode..

annars försöker snubben göra en egen öppen plugin-api.. så utvecklare ska kunna modda XCode.. coolt den "funkar" till XCode 2.1 och 2.2 än så länge...

ciao

  • Medlem
  • Simrishamn
  • 2005-12-05 17:52

Jag tycker att Xcode fungerar ganska bra, förutom att det ibland är lite svårt att göra inställningar.
Och vad beträffar felhanteringen: Felaktiga rader markeras med ett tecken för varning eller fel, och klickar man på tecknet så står det nere i vänstra hörnet vad man gör för fel.
Men visst, ibland hade det varit bättre att ha det i någon form av dialogruta.

Ursprungligen av HannesP:

Felaktiga rader markeras med ett tecken för varning eller fel, och klickar man på tecknet så står det nere i vänstra hörnet vad man gör för fel.

..inte när man kodar java.. vad jag vet..

Eclipse kollar dessutom syntax fel utan att man behöver builda - vilket är guld - man får veta simpla fel p studs.

Jag kan inte så mycket om xcode eller dess motsvarigheter, men tycker det verkar som om det är lätt att komma in i och följer väl "OS X-tänket", vilket gör det lätt att använda.

Lite iMove-känsla.

  • Medlem
  • Simrishamn
  • 2005-12-05 18:06

GAAAAAAH!!!
Nu fick jag brutalt sinnesspel på Xcode! Jag råkade deleta en fil, och den flyttade inte den till papperskorgen, den raderade filen totalt ... TACK.

  • Medlem
  • Stockholm
  • 2005-12-06 13:05
Ursprungligen av HannesP:

GAAAAAAH!!!
Nu fick jag brutalt sinnesspel på Xcode! Jag råkade deleta en fil, och den flyttade inte den till papperskorgen, den raderade filen totalt ... TACK.

Tur att du kör versionshantering för ditt projekt och bara körde en snabb rollback för att få tillbaka filen....

/Kalle

  • Medlem
  • Simrishamn
  • 2005-12-06 15:52

Versionshantering? Va? Vad? Är det något jag kan använda?

  • Medlem
  • International user
  • 2005-12-09 21:25

Det verkar inte vara något större fel på Xcode. Vi har ett antal AS-Studio "appar" som vi underhåller i Xcode. Det fungerar otroligt bra. Men ni (C, C++) proffs kanske kräver mer?

  • Medlem
  • Stockholm
  • 2005-12-10 12:59

Så trevligt att tråden tog lite fart till slut

Tack för alla svar!

Vad finns det för utvecklingsmiljöer för Objective-C som är bättre än XCode?

  • Medlem
  • Stockholm
  • 2005-12-10 14:42
Ursprungligen av uggla:

Så trevligt att tråden tog lite fart till slut

Tack för alla svar!

Vad finns det för utvecklingsmiljöer för Objective-C som är bättre än XCode?

Jag skulle säga att slutsatsen av denna tråd är att XCode är suveränt för Objective-C men har svaga punkter i sitt stöd för andra språk.

/Kallle

Det är möjligt att kalleh har rätt. Jag har länge ansett att det är slöseri med tid att lära sig Objective-C, eftersom det är en Mac-specifik återvändsgränd som bara kommer att finnas så länge NeXT-gänget styr Apple. Sedan åker det ut direkt. Jag kan inte tänka mig att Adobe m.fl. gillar det.

Men jag har inte grävt djupt, så jag får väl fråga: Hur portar ni Objective-C-program till Linux och WIndows? Finns det bra stöd för det? Jag tycker aldrig jag ser någon tala om det, trots att det är viktigt.

Ursprungligen av Ingemar Ragnemalm:

Det är möjligt att kalleh har rätt. Jag har länge ansett att det är slöseri med tid att lära sig Objective-C, eftersom det är en Mac-specifik återvändsgränd som bara kommer att finnas så länge NeXT-gänget styr Apple. Sedan åker det ut direkt. Jag kan inte tänka mig att Adobe m.fl. gillar det.

Men jag har inte grävt djupt, så jag får väl fråga: Hur portar ni Objective-C-program till Linux och WIndows? Finns det bra stöd för det? Jag tycker aldrig jag ser någon tala om det, trots att det är viktigt.

Mac-specifik återvändsgräns? Hört talas om GCC? GNU Compiler Collection?

Ursprungligen av Ingemar Ragnemalm:

Det är möjligt att kalleh har rätt. Jag har länge ansett att det är slöseri med tid att lära sig Objective-C, eftersom det är en Mac-specifik återvändsgränd som bara kommer att finnas så länge NeXT-gänget styr Apple. Sedan åker det ut direkt. Jag kan inte tänka mig att Adobe m.fl. gillar det.

Carbon är också Mac-specifikt, så hur man än vänder och vrider på det måste man använda något Appleframework för att skriva GUI-bitarna. Enligt mina erfarenheter går det då mycket, mycket snabbare att ta fram GUI med Cocoa än med Carbon.

Men visst, Objective-C är definitivt Mac-specifikt. Portabel Objective-C innebär att man får jobba utan Cocoa, och då är det inte mycket man får med i kitet. Själva språket Obj-C är väldigt tunt, medan frameworken är desto rikare. Kombination är dock (i min åsikt) oslagbar, men portabel är den inte.

  • Oregistrerad
  • 2005-12-11 02:13
Ursprungligen av morris:

men portabel är den inte.

Det finns ju faktiskt GNU Step som borde i viss mån vara kompatibelt med Cocoa.

Ursprungligen av morris:

Carbon är också Mac-specifikt, så hur man än vänder och vrider på det måste man använda något Appleframework för att skriva GUI-bitarna. Enligt mina erfarenheter går det då mycket, mycket snabbare att ta fram GUI med Cocoa än med Carbon.

Men visst, Objective-C är definitivt Mac-specifikt. Portabel Objective-C innebär att man får jobba utan Cocoa, och då är det inte mycket man får med i kitet. Själva språket Obj-C är väldigt tunt, medan frameworken är desto rikare. Kombination är dock (i min åsikt) oslagbar, men portabel är den inte.

Cocoa är ju ett API, så det spelar ingen roll hur portabel koden är om man pekar till API, som bara finns på Mac OS. Om samma API finns på Windows & Linux skulle koden vara portabel. Det är upp till Apple hur portabel koden skall vara, dvs om Apple skulle vara villiga att fixa API för Windows (Cocoa för windows [aka. YellowBox for Windows]) och API för Linux.

Bevaka tråden