První kroky na Macu: pro začátečníky v OS X. Programování v Mac OS X: psaní pro iPhone Užitečné funkce klávesy „Fn“

v tomto tématu vám ukážu, jak napsat jednoduchou aplikaci pro iPhone pomocí oficiálního SDK. Je snadné jej získat, potřebujete:
1. Mac s procesorem Intel (i když funguje také na PowerPC, ale po nějakém šťourání)
2. iPhone SDK. Budu psát v beta verzi 2. Nejnovější verzi získáte registrací na developer.apple.com. Beta 2 lze nalézt na torrentech

Ahoj Habr

Abychom Moskvu příliš nezatěžovali, uděláme to nejjednodušší: aplikace pouze zobrazí logo Habr. Otevřete XCode (vyžadováno v 32bitový režim) a vytvořte novou aplikaci Cocoa Touch:

Říkejme tomu HelloHabr a uložme si to na plochu.

Mistr tvorby projektů už to za nás udělal. Podívejme se na obsah main.m:
#import

Int main(int argc, char *argv)
{
NSAutoreleasePool * pool = [init];
//protože na iPhonu nemůžete používat sběr odpadu, používáme fond automatického uvolnění, abychom vám usnadnili život
int retVal = UIApplicationMain(argc, argv, nil, @"HelloHabrAppDelegate");
//pro spuštění aplikace je třeba zavolat tuto funkci. @"HelloHabrAppDelegate" - třída, do které bude ovládací prvek přenesen
;
návratová retVal;
}

Nyní se podívejme na HelloHabrAppDelegate.h:
#import

A na HelloHabrAppDelegate.m:
#import "HelloHabrAppDelegate.h"
#import "MyView.h"

@implementation HelloHabrAppDelegate
//tyto direktivy znamenají, že při kompilaci místo volání přes . zadejte getters a setters
syntetizovat okno;
syntetizovat contentView;

//funkce delegovaná z UIApplication
- (void)applicationDidFinishLaunching:(UIApplication *)application (
// Vytvoří hlavní okno
self.window = [[ initWithFrame:[ bounds]] autorease];
// vytvoření contentView
self.contentView = [[ initWithFrame:[ applicationFrame]] autorease];
//přidejte náš contentntView do hlavního okna, aby se zobrazil
;
// zviditelní hlavní okno
;
}

- (void)dealloc (;
;
;
}

Malá hardwarová část je hotová, můžeme začít psát aplikaci. Uložte logo habr do složky aplikace. Poté jej přetáhněte ze složky do složky Resources našeho projektu v okně XCode:

Nyní do třídy MyView přidáme nové pole „habrView“ typu „UIImageView *“, tzn. MyView.h bude vypadat takto:
#import

Nyní definujeme procedury init a dealloc ve třídě MyView:
#import "MyView.h"

@implementace MyView
- (id) initWithFrame:(CGRect)frame (if(self = ) (
//barva pozadí - černá
];
//vytvoří nový objekt s obrázkem loga habr
UIImage *image = ;
//vytvoří komponentu, která zobrazí logo
self->habrView = [ initWithFrame:CGRectMake(0, 0, .width, .height)];
;
];

;
//přidejte do formuláře komponentu zobrazení loga habr
;
}
vrátit se;
}

- (neplatný) dealloc (;
;
}
konec

Všechno. Zkompilujeme, spustíme a získáme, co jsme chtěli:

A nyní metoda pro vytváření aplikací pro líné. Dashcode může vytvářet webové aplikace pro iPhone a iPod Touch. Otevřete Dashcode a jako šablonu vyberte RSS. Přejděte na kartu Atributy stránky, nastavte Název stránky: „Harbrahabr RSS“, URL zdroje: „feed://habrahabr.ru/rss/main/“. Poté přejděte na kartu „Harbrahabr RSS“ (otevře se návrhář) a změňte nápis „My RSS Feed“ na „Habrahabr RSS Feed“:

Klikněte na Spustit a získejte Habrovu RSS čtečku:

V podstatě všechno. Čekám na recenze, přání, návrhy v komentářích

Aktualizováno: Trochu jsem upravil formátování, kód je lépe čitelný, ale k ideálu to má daleko

Několik měsíců jsem doma používal MacBook Pro a přemýšlel jsem, jestli existuje dobrá kniha nebo průvodce, který by mi pomohl stát se lepším programátorem Mac. Možná ekvivalent pro Mac Getting Started with Linux Programming. Poznámka. Nehledám zdroj o tom, jak programovat aplikaci pro Mac, místo toho hledám obecnějšího průvodce používáním Macu pro obecné vývojové prostředí.

Jako pozadí jsem přes den programátorem Windows. V průběhu let jsem také dělal nějaké věci s Linuxem a BSD, zejména ve škole, jako je programování socketů, grafika, věci typu make install. Doma budu dělat Javu, Scalu, PHP atd. Na Macu.

Doposud jsem používal Eclipse, QuickSilver a TextMate. VMWare Fusion, XCode a NetBeans jsou nakonfigurovány, ale já je nepoužívám. Přepínač DVI KVM se připojuje ke skutečné klávesnici, trackballu a monitoru. Nedávno jsem zůstal až do pozdní bitvy s MacPorts a uvědomil jsem si, že potřebuji x86_64. Největší problém, se kterým jsem se setkal, je nastavení PHP. Nevím, proč nepřicházejí s knihovnou MySQL a GD. Nakonec jsem si uvědomil, že to bylo Google a vytvořil rozšíření ze zdroje. Mám pocit, že jsem nedostal poznámku nebo nečetl základní návod, jak se stát programátorem pro Mac, jako jak funguje celá architektura. Jak může být programátor Windows dostatečně produktivní na Mac OS X?

Změna. Na konkrétním typu aplikace, kterou chci vyvinout, podle mého názoru opravdu nezáleží. Může to být Java, Scala, PHP, jak jsem zmínil, nebo kakao, C++ nebo cokoli jiného.

Hledám konkrétní knihu, zdroj, tipy, jak být efektivnější Mac programátor, nejlépe něco nad rámec "instalace XYZ".

6 odpovědí

Zdá se, že potřebujete přehled o tom, jak Mac OS X funguje na systémové úrovni, více než přehodnocení nástrojů atd. Pokud k tomu dojde, začnu (základní) Průvodce architekturou systému Mac OS X společnosti Apple a poté přejdu k části Začínáme s Mac OS X, která by vám měla poskytnout dostatečný přehled, abyste mohli začít.

Z vaší otázky není jasné, co máte v úmyslu s programováním dělat, ale pokud se rozhodnete pokračovat ve vývoji Cocoa/OS X, doporučuji Cocoa Programming for Mac OS X od Aarona Hillegasse.

Po převodu z Windows na Mac OS X asi před pěti lety se často ocitám ve stejném duchu. Prostě nemohu být produktivní na Windows (tak produktivní, jak jen mohu být), jako na Mac OS X.

Abych byl upřímný, mezi Mac OS X a Windows je spousta malých rozdílů. Největší důvod pro lidi, kteří takto uvažují (obvykle pouze hráči a vývojáři), je ten, že se snaží používat Mac jako stroj s Windows. Musíte se naučit akceptovat, že musíte používat příkazovou klávesu a ne ovládací klávesu atd.

Vypadá to, že používáte Mac, protože musíte na rozdíl od toho, co chcete. Je to opravdu mnohem lepší než Windows, jakmile si na to zvyknete.

Myslím, že spousta programátorů Windows přijde na Mac a nesnaží se to pořádně naučit, protože se uspokojí, myslí si, že všechno vědí, protože „Windows používali celý život“. Myslím, že jakmile objevíte Spotlight, Expose, „klávesové zkratky Mac OS X“ atd. Zjistíte, že vy sami jste MNOHEM produktivnější, než jste kdy byli na Windows... a jeho používání je opravdu zábavné.

Podívejte se na některé z nejlepších aplikací pro Mac, které můžete získat. Můžete také vyhledat „Top 100 Mac Apps“.

Také jsem si všiml, že jste se pokoušeli nastavit nějaký druh webového serveru přímo v Mac OS X. Jeden je dodáván, ale pokud se chystáte přidat MySQL a některá další rozšíření, nešel bych cestou MacPorts. Získejte VMWare Fusion nebo VirtualBox (open source) a spusťte server na virtuálním počítači. Mnohem čistší. Mám subversion/trac FreeBSD VM, který zpracovává moji lokální správu verzí.

Rád bych dodal, že pokud Xcode aktuálně nepoužíváte, rozhodně byste se ho měli naučit a co nejdříve používat. Je to mnohem příjemnější IDE než Visual Studio a výrazně vám usnadní život.

Nezapomínejte, že i když jste pravděpodobně strávili roky na stránkách nápovědy pro Windows, na Macu musíte v malé míře udělat totéž. Kdykoli máte problém s používáním Macu, položte otázku ServerFault. Všichni jsme více než ochotni vám pomoci.

Mám stejnou situaci jako ty. Pro vývoj používám Windows a asi před rokem (když jsem se přestěhoval do kanceláře) jsem si koupil MBP na doma. Je pro mě opravdu těžké udělat nějakou skutečnou práci na mém MBP. Nějak jsem si zvykl na prostředí Windows se dvěma obrazovkami. Ale nenech se tím zastavit. Několik programů, které vám doporučuji získat, jsou následující:

  • Transfer - Dobrý ftp klient
  • MAMP - provozuje webový server téměř po vybalení. Dobré pro základní vývoj.
  • Quicksilver – pomůže vám rychle najít aplikace.
  • Mezery spolu s gesty (Přizpůsobte si gesta pro pohyb z jedné obrazovky na druhou, já používám tři prsty, kluzké).
  • Entourage - pro e-mail
  • Terminál - pro ssh (alternativa putty) (součástí balení)
  • Dreamweaver/BBedit/Textmate (všechno docela slušné, ale jsem milovníkem editplus na windows, ne fanouškem IDE).

Hádám, že vaše otázka není o učení KAKAVA, ale o efektivnějším používání MAC. Výše uvedené nástroje vám mohou pomoci.

Bohužel z vaší otázky není příliš jasné, co vlastně chcete.

Pokud chcete napsat něco multiplatformního, může být velmi užitečné mít virtuální stroj pro testování. Zatímco na Linuxu jsem vždy používal VirtualBox, funguje to i na OS X.

Slovo

Pamatujte: „Na počátku bylo Slovo..." Tohle je přesně ono. V této sérii článků se pokusíme pochopit a popsat, jak můžete programovat pod Mac OS X co stojí za to dělat, co nemá cenu dělat. Proč je to vůbec nutné? Koneckonců existuje spousta jiných systémů.

Argumenty...

Každý operační systém má své vlastní argumenty. A často není programování pro jeden ze systémů otázkou volby nebo preference, ale součástí technické specifikace. V tomto případě je dost těžké argumentovat (rozumně). A pravděpodobně jen Mac OS X(a počítače obecně Jablko) V tomto sporu o pracoviště se můžeme alespoň nějak bránit.

Pojďme programovat na cokoliv. Například pro web. V tomto případě nejčastěji pracujeme s Apache/MySQL/P (HP/Perl/Python). Tady pro nikoho nejsou žádné problémy OS. Pak je ale potřeba zkontrolovat, jak vše vizuálně vypadá v prohlížečích. A všechny systémy jsou zklamané nemožností (legálního) spuštění Mac OS X zkontrolovat, jak bude web fungovat Safari. Ale naopak - prosím, jak chcete. Ve třech verzích.

Dobře, i když potřebujeme vyvinout něco speciálně pro Linux/Windows. Zdá se, že v tomto případě rozhodně musíte zvolit vhodnou platformu, vhodnou OS. Ale počkat, proč? Ve virtuálních strojích tyto systémy fungují skvěle. Zároveň je možné lokálně emulovat síť (spustit server v jednom V.M., klienta jinému), pořizovat snímky (uložit stav V.M. v určitém okamžiku pro následné vrácení zpět) a tak dále.

A nakonec vám nikdo nezakazuje dát si vlastní Linux nebo Okna(nebo obojí najednou) zapnuto Mac. Opačně to nejde. A jen tak – v případě potřeby snadno.

Existují nějaké odůvodněné nevýhody počítačů Mac? Ano mám. Patologické nepřátelství. Někteří lidé potřebují něco konkrétního. Například přizpůsobitelnost . Nebo okno maximalizujte poklepáním na záhlaví. To je vše, co potřebujete, a je to. V tomto případě Operační Systém Mac X je přísně kontraindikováno, v tomto případě nevychází nic než negativní emoce.

a fakta...

A fakta jsou jednoduchá. Stále častější na vývojářských konferencích MacBooky A MacBook Pro. Konají se zde prezentace, předvádějí se prototypy vývoje a finální verze.

Macy vstoupily do života vývojářů poměrně těsně. A na některých místech je prostě dobyli. Například, Jáva rozvoj. Na konferenci JavaOne 60 procent všech počítačů jsou firemní notebooky Jablko.

No, dost textů. Pojďme se podívat, co vlastně poskytuje Jablko pro programování a jak pohodlné je vše nastavit, abyste jej mohli používat.

Dejte mi dva!

Existují dvě jednoduché věci, které nejsou vždy zřejmé a ne vždy snadno pochopitelné různými vývojáři. Zejména ti, kteří vytvářejí nefinální produkt (Poznámkový blok) a platforma pro ostatní (1C).

Za prvé, k vytvoření platformy potřebujete, aby na ní něco běželo. Tedy tak, aby pro něj programátoři třetích stran mohli vytvářet programy. Připomeňme si, jaký byl poprask iPhone SDK... Samozřejmě, že skoro nikdy předtím SDK nebyly vydány jen tak. A téměř nikdy nebyly tak kvalitní. Nebo například když byl vyvinut Sony Playstation 3, DevKit(vývojářské nástroje, Sada nástrojů pro vývojáře) byl na to připraven mnohem dříve než samotná konzole. Aby se v době vydání konzole již mohlo objevit alespoň několik her. Proto jsou důležité nástroje. To je nesmírně důležité. A dovnitř Jablko Tomu se rozumí dobře. Dávají to zdarma (jakýkoli Mac je dodáván s diskem OS a SDK), velmi aktivně jej rozvíjejí.

Za druhé, vytvoření velké platformy je pro mnoho lidí (používání stejných Maců) hodně práce. Lidé jsou různí a nástroje by měly být různé. Za tímto účelem s Mac OS X Tradičně je dodáváno několik skriptovacích jazyků, které jsou již nakonfigurovány pro práci. Vlastně, Mac OS X - jediný OS (nyní se začínají objevovat Linux), ve kterém původně stojí Jáva. Proto, abyste mohli začít programovat pod Mac OS X, není třeba stahovat a instalovat např. Krajta pokud na něm chcete napsat skript. Jen si sedněte a napište – už to tam je, už je nakonfigurováno.

Pokračování příště…