Interface Builder gebruiken of niet?

Er zijn al tientallen draadjes gestart met als hoofdvraag “Ik wil leren programmeren in Xcode/Objective-C, maar hoe?”. Zelf ben ik ook net begonnen met programmeren in Objective-C en heb de nodige boeken in huis en raadpleeg daarnaast het grote internet, waar inderdaad het gros van de lading vragen wordt gedekt. Echter blijven enkele vragen mij onbeantwoord:

  • Kan ik als beginnend programmeur beter alleen Xcode gebruiken en geen Interface Builder om de begrippen en definities beter en sneller te begrijpen?
  • Loop ik op de lange termijn niet tegen obstakels aan die eventueel met Interface Builder niet 1…2…3… op te lossen zijn of visa versa?
  • Wat zijn de belangrijkste ‘pros’ en ‘cons’ om een goede overweging te maken(of wat was jouw overweging)?

Zelf ben ik geneigd om alles van nul op te bouwen in Xcode, maar wellicht denk ik dan te ouderwets!

Naar mijn mening kan je initieel het beste IB gebruiken, er zijn situaties waar het bouwen van je interface gemakkelijker is vanuit code. Dit merk je dna echter vanzelf. Ik denk dat je dit punt niet te ingewikkeld moet overdenken, op een gegeven moment spreekt het voor zich.

[quote]Kan ik als beginnend programmeur beter alleen Xcode gebruiken en geen Interface Builder om de begrippen en definities beter en sneller te begrijpen?[/quote]Het hangt er van af:

  • Kan je al programmeren? Zo nee, begin met iets simpels zonder gui en zonder IB.
  • Wat wil je maken? Als je standaard views en controls gebruikt en je weet al van tevoren hoe het er uit moet zien: gebruik IB.

[quote]Loop ik op de lange termijn niet tegen obstakels aan die eventueel met Interface Builder niet 1…2…3… op te lossen zijn of visa versa?[/quote]Dingen die niet met IB op te lossen zijn kan je er doorgaans vrij makkelijk bijprogrammeren, je doet dan alleen het ontbrekende stukje niet in IB. In principe kan je alles wat je met IB doet ook zelf programmeren, het is alleen meestal meer werk.

[quote]Wat zijn de belangrijkste ‘pros’ en ‘cons’ om een goede overweging te maken(of wat was jouw overweging)[/quote]Ik heb ruime ervaring met en zonder IB of iets vergelijkbaars en gebruik veel liever IB. Het is (ook op langere termijn) sneller, makkelijker en veel minder werk. Het zoekt wel moeilijker en het is meer werk als je op veel plekken hetzelfde moet veranderen. Ik heb vooral ervaring met database-achtige programma’s, voor b.v. spelletjes zal het anders zijn. Overigens, het advies “gebruik IB niet als je net begint zodat je leert hoe het in elkaar steekt” ben ik het wel mee eens.

Google eens op “use interface builder or not” en lees het een en ander. Smaken verschillen en de meningen zijn verdeeld. Je kan beide manieren proberen en dan merk je wel wat bevalt.

Om de discussie wat uit te breiden: storyboards of niet ?

Aaron Hillegass is er niet echt een fan van, zoals hij schrijft zijn iOS boek. Voornamelijk omdat het niet erg flexibel is, en problemen geeft wanneer er meer dan één ontwikkelaar aan een project werkt. Ik gebruik het ook niet, maar alleen omdat ik al bekend ben met de traditionele manier van xibs.

Simpel: met al het beschikbare gereedschap moet je op zijn minst een keer gespeeld of geoefend hebben, voordat je voor jezelf kan beslissen of je het verder gaat gebruiken of niet. De volgorde waarop je jezelf de dingen aanleert is verder op de lange termijn niet zo boeiend.

[quote=Willemien url=http://www.onemorething.nl/community/topic/interface-builder-gebruiken-of-niet/#post-2579188 time=1374838235]

  • Kan je al programmeren? Zo nee, begin met iets simpels zonder gui en zonder IB.
  • Wat wil je maken? Als je standaard views en controls gebruikt en je weet al van tevoren hoe het er uit moet zien: gebruik IB.[/quote]

Heb op het gebied van Objective-C niet bijzonder veel ervaring. Dus bedankt voor je tip. Mijn ervaring met betrekking tot andere talen is dat je pas leert door het toe te passen. Aangezien ik dit gewoon serieus wil leren en graag eerst nadenk alvorens te beginnen, heb ik dit topic gestart.

Heb inderdaad nog eens verder gegoogeld op dit onderwerp, al zitten daar programmeurs al snel op een level waar ik mij op dit moment nog niet bevindt.

Trek ik een scheve verhouding, als ik zeg dat Interface Builder een ‘tool/verlengstuk’ is van Xcode?

Tip: volg de (eerste paar) lessen van de Stanford cursus CS193p van Paul Hegarty.

https://itunes.apple.com/nl/course/coding-together-developing/id593208016

De lecture notes van de eerste twee lessen bevatten een 200+ pagina’s Walkthrough om je eerste iOS app (“CardGame”) te maken. Erg instructief.

Interface Builder is tegenwoordig een integraal onderdeel van Xcode.
Niemand gaat nog zelf labels, buttons etc codematig positioneren als het niet persé hoeft.

Het ligt eraan, als je een simpele view hebt met een paar buttons, kan je het via IB doen.
Maar als je nou in die view bijv. 3 buttons omhoog wil laten komen doordat je drukt op een button, dan zou ik die 3 buttons die je omhoog laat doen gewoon programmeren omdat dat veel makkelijker is.
Al je UI Elementen programmeren is in sommige situaties een stuk fijner en handiger.

+1.

[quote=TheBigZ url=http://www.onemorething.nl/community/topic/interface-builder-gebruiken-of-niet/#post-2579240 time=1374844518]Tip: volg de (eerste paar) lessen van de Stanford cursus CS193p van Paul Hegarty.

https://itunes.apple.com/nl/course/coding-together-developing/id593208016

De lecture notes van de eerste twee lessen bevatten een 200+ pagina’s Walkthrough om je eerste iOS app (“CardGame”) te maken. Erg instructief.
[/quote]Ahh! Matchismo! :wink:

Zo heb ik ook objective-c geleerd. :slight_smile: - http://www.iphoneclub.nl/254486/interview-ios-apps-maken-leer-je-met-itunes-u/