<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Out Of Memory &#187; Tecnologia</title>
	<atom:link href="http://www.outofmemory.blog.br/category/tecnologia/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.outofmemory.blog.br</link>
	<description>Blog sobre tecnologia, seriados, esportes, jogos e coisas nerds</description>
	<lastBuildDate>Wed, 23 Jun 2010 14:18:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Apple inicia distribuição do iPhone 4</title>
		<link>http://www.outofmemory.blog.br/2010/06/23/apple-inicia-distribuicao-do-iphone-4/</link>
		<comments>http://www.outofmemory.blog.br/2010/06/23/apple-inicia-distribuicao-do-iphone-4/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 14:18:34 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iphone 4]]></category>
		<category><![CDATA[pwnagetool]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=424</guid>
		<description><![CDATA[Começou nos USA a distribuição do novo aparelho da Apple. O grande destaque até o momento é a nova tela, que parece ser realmente impressionante como disse Steve Jobs durante o anuncio do novo aparelho.
Infelizmente não sei quando poderei colocar a mão em um deles, mas assim que o fizer eu escrevo um post só [...]]]></description>
			<content:encoded><![CDATA[<p>Começou nos USA a distribuição do novo aparelho da Apple. O grande destaque até o momento é a nova tela, que parece ser realmente impressionante como disse Steve Jobs durante o anuncio do novo aparelho.</p>
<p>Infelizmente não sei quando poderei colocar a mão em um deles, mas assim que o fizer eu escrevo um post só sobre isso.</p>
<p>O iOS4 também já está disponível, eu ainda estou rodando a versão GM no meu aparelho, logo vou migrar para o oficial. Vale sempre lembrar que para o pessoal do JailBreak e Unlock deve esperar mais um pouco, apesar de ter saído a versão do <a title="PwnageTool" href="http://blog.iphone-dev.org/post/726179754/foursome-news" target="_blank">PwnageTool</a> para iPhones 3G e 3GS, geralmente vale a pena esperar para ver os efeitos colaterais.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2010/06/23/apple-inicia-distribuicao-do-iphone-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iniciado WWDC 2010</title>
		<link>http://www.outofmemory.blog.br/2010/06/08/iniciado-wwdc-2010/</link>
		<comments>http://www.outofmemory.blog.br/2010/06/08/iniciado-wwdc-2010/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 14:30:15 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=420</guid>
		<description><![CDATA[Além do esperado lançamento do iOS4 (novo sistema operacional da Apple para o iPhone/iPod e iPad foi anunciado também a nova geração de aparelhos iPhone, denomidado &#8216;iPhone 4&#8242;. Várias outras novidades também foram anunciadas, e logo farei um post sobre isso.
Já estou testando o iOS4 e estou contente com o que vi até agora, posto [...]]]></description>
			<content:encoded><![CDATA[<p>Além do esperado lançamento do iOS4 (novo sistema operacional da Apple para o iPhone/iPod e iPad foi anunciado também a nova geração de aparelhos iPhone, denomidado &#8216;iPhone 4&#8242;. Várias outras novidades também foram anunciadas, e logo farei um post sobre isso.</p>
<p>Já estou testando o iOS4 e estou contente com o que vi até agora, posto mais detalhes logo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2010/06/08/iniciado-wwdc-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple anuncia WWDC 2010</title>
		<link>http://www.outofmemory.blog.br/2010/04/29/apple-anuncia-wwdc-2010/</link>
		<comments>http://www.outofmemory.blog.br/2010/04/29/apple-anuncia-wwdc-2010/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 13:24:23 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=414</guid>
		<description><![CDATA[A Apple finalmente anunciou a data e local do evento mais esperado pelos MacManíacos do mundo, o WWDC (WorldWide Developers Conference) de 2010 será (como de costume) em San Francisco, no Moscone West, nos dias 7-11 de Junho.
Quem tiver 1600 dollares disponíveis para inscrição mais despesas de hospedagem e passagem aérea, pode ver mais detalhes [...]]]></description>
			<content:encoded><![CDATA[<p>A Apple finalmente anunciou a data e local do evento mais esperado pelos MacManíacos do mundo, o WWDC (WorldWide Developers Conference) de 2010 será (como de costume) em San Francisco, no Moscone West, nos dias 7-11 de Junho.</p>
<p>Quem tiver 1600 dollares disponíveis para inscrição mais despesas de hospedagem e passagem aérea, pode ver mais detalhes de como se cadastrar no <a title="WWDC 2010" href="http://developer.apple.com/wwdc/" target="_blank">site do evento</a>.</p>
<p>Eu infelizmente vou ter que deixar para o ano que vem (de novo).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2010/04/29/apple-anuncia-wwdc-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução ao Objective-C &#8211; Synthesized Accessor</title>
		<link>http://www.outofmemory.blog.br/2010/04/29/introducao-ao-objective-c-synthesized-accessor/</link>
		<comments>http://www.outofmemory.blog.br/2010/04/29/introducao-ao-objective-c-synthesized-accessor/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 03:03:02 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[accessor]]></category>
		<category><![CDATA[getter]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[memória]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[setter]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=396</guid>
		<description><![CDATA[Quem programa utilizando Orientação a Objetos sabe bem a importância de criar os atributos de uma classe como private e criar os &#8220;Accessors&#8221; para alterar ou recuperar os valores desses atributos; o Objective-C 2.0 disponibiliza uma maneira muito simples e prática para isso, os &#8220;Synthesized Accessor Methods&#8220;.

Quando estamos falando de mobile devices (iPhone/iPad) deve-se levar [...]]]></description>
			<content:encoded><![CDATA[<p>Quem programa utilizando Orientação a Objetos sabe bem a importância de criar os atributos de uma classe como private e criar os &#8220;<strong>Accessors</strong>&#8221; para alterar ou recuperar os valores desses atributos; o Objective-C 2.0 disponibiliza uma maneira muito simples e prática para isso, os &#8220;<strong>Synthesized Accessor Methods</strong>&#8220;.<br />
<span id="more-396"></span><br />
Quando estamos falando de mobile devices (iPhone/iPad) deve-se levar em conta o consumo de memória, e pensando nisso um bom accessor para um atributo <strong>nome</strong> seria mais ou menos assim:</p>
<pre class="brush: cpp;">
- (void) setNome: (NSString *) _nome
{
   [nome release];
   nome = [[NSString alloc] initWithString: _nome];
}

- (NSString *) nome
{
   return nome;
}
</pre>
<p>antes de fazer o set do novo valor, o valor antigo é liberado da memória evitando &#8220;<strong>vazamentos</strong>&#8221; indesejáveis.</p>
<p>Para que o compilador realize essa tarefa, nos poupando muito trabalho, primeiro você declara o atributo utilizando a diretiva &#8220;<strong>@property</strong>&#8221; na sua interface, e depois na implementação da classe utilizar a diretiva &#8220;<strong>@synthesize</strong>&#8220;. Desse modo o compilador vai gerar automaticamente o &#8220;<strong>getter</strong>&#8221; e o &#8220;<strong>setter</strong>&#8221; do seu atributo.</p>
<p>Nada melhor que um exemplo, vamos começar com a interface &#8220;MyClass1.h&#8221;:</p>
<pre class="brush: cpp;">
#import  &lt;Foundation/Foundation.h&gt;

@interface MyClass1 : NSObject
{
   int aInt;
   NSString *nome;
}

@property int aInt;
@property (copy, nonatomic) NSString *nome;

@end
</pre>
<p>a diretiva &#8220;<strong>@property</strong>&#8221; aceita alguns parâmentros para informar ao compilador como criar o &#8220;<strong>Accessor</strong>&#8220;, no nosso caso queremos que seja feita uma cópia no setter do atributo (como no exemplo acima), então usamos o parâmetro &#8220;<strong>copy</strong>&#8220;, e ainda o &#8220;<strong>nonatomic</strong>&#8221; pois não queremos que o getter faça um &#8220;<strong>retain</strong>&#8221; ou um &#8220;<strong>autorelease</strong>&#8221; antes que ele retorne o valor do atributo (mais sobre o &#8220;<strong>retain</strong>&#8221; e o &#8220;<strong>autorelease</strong>&#8221; nos próximos artigos).</p>
<p>agora o &#8220;MyClass1.m&#8221;:</p>
<pre class="brush: cpp;">
#import &quot;MyClass1.h&quot;

@implementation MyClass1

@synthesize aInt;
@synthesize nome;

@end
</pre>
<p>não está faltando código, é só isso mesmo.</p>
<p>e finalmente um programa que faz a chamada:</p>
<pre class="brush: cpp;">
#import &lt;Foundation/Foundation.h&gt;
#import &quot;MyClass1.h&quot;

int main (int argc, const char * argv[])
{
   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

   MyClass1 * m = [[MyClass1 alloc] init];

   [m setAInt: 5];
   NSLog(@&quot;Valor eh: %i&quot;, [m aInt]);

   [m setNome: @&quot;Alex&quot;];
   NSLog(@&quot;Nome eh: %s&quot;, [[m nome] UTF8String]);

   [m release];
   [pool drain];
   return 0;
}
</pre>
<p>você deve ter notado, que nas chamadas eu utilizei &#8220;<strong>setAInt</strong>&#8221; e &#8220;<strong>setNome</strong>&#8221; para setar os valores e &#8220;<strong>aInt</strong>&#8221; e &#8220;<strong>nome</strong>&#8221; para recuperar os valores, o &#8220;<strong>@synthesize</strong>&#8221; criou esses métodos na hora da compilação, mas se você utiliza o XCode, ficará surpreso em saber que ele oferece no auto-complete esses métodos.</p>
<p>após compilar e rodar a saída que obtive foi essa:</p>
<pre class="brush: plain;">
2010-04-28 23:24:13.552 acessor[1217:a0f] Valor eh: 5
2010-04-28 23:24:13.554 acessor[1217:a0f] Nome eh: Alex
</pre>
<p>Até o próximo artigo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2010/04/29/introducao-ao-objective-c-synthesized-accessor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução ao Objective-C &#8211; parte 2 (classes)</title>
		<link>http://www.outofmemory.blog.br/2010/01/05/introducao-ao-objective-c-parte-2-classes/</link>
		<comments>http://www.outofmemory.blog.br/2010/01/05/introducao-ao-objective-c-parte-2-classes/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 00:06:09 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=359</guid>
		<description><![CDATA[Agora que você já teve o primeiro contato com a linguagem (no post anterior), vamos ver como declarar classes, métodos e propriedades.
Em Objective-C usa-se a seguinte nomenclatura para os arquivos:

arquivo.h &#8211; header
arquivo.m &#8211; arquivo que pode conter tanto código Objective-C como C

Para esse tutorial eu usarei o XCode (falarei mais sobre ele depois), mas qualquer [...]]]></description>
			<content:encoded><![CDATA[<p>Agora que você já teve o primeiro contato com a linguagem (<a href="http://www.outofmemory.blog.br/2009/10/19/introducao-ao-objective-c-parte-1/" target="_blank">no post anterior</a>), vamos ver como declarar classes, métodos e propriedades.</p>
<p>Em Objective-C usa-se a seguinte nomenclatura para os arquivos:</p>
<ul>
<li>arquivo.h &#8211; header</li>
<li>arquivo.m &#8211; arquivo que pode conter tanto código Objective-C como C</li>
</ul>
<p>Para esse tutorial eu usarei o XCode (falarei mais sobre ele depois), mas qualquer editor de texto serve para editar os arquivos, e o GCC cria os executáveis. Neste código específico, usarei o &#8220;<strong>vi</strong>&#8221; e o compilador &#8220;<strong>gcc</strong>&#8221; apenas para exemplificar como proceder neste caso.</p>
<p><span id="more-359"></span>Vamos agora para a nossa primeira classe, vou chama-la de &#8220;MyFirstClass.m&#8221;, para este exemplo, vou digitar todo o código no mesmo arquivo:</p>
<pre class="brush: cpp;">
#import &lt;Foundation/Foundation.h&gt;

@interface MyFirstClass : NSObject
{
   int aInt;
}

-(int) aInt;
-(void) setAInt: (int) _aInt;

-(void) print;

@end

@implementation MyFirstClass
-(void) print
{
   NSLog(@&quot;Número informado é: %i&quot;, aInt);
}

-(void) setAInt: (int) _aInt
{
   aInt = _aInt;
}

-(int) aInt
{
   return aInt;
}
@end

int main(int argc, const char *argv[])
{
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
   MyFirstClass *m = [[MyFirstClass alloc] init];

   [m setAInt: 5];
   [m print];

   [m release];
   [pool drain];

   return ( 0 );
}
</pre>
<p>Para compilar um programa usando o GCC em qualquer plataforma suportada, basta digitar o seguinte:</p>
<pre class="brush: cpp;">gcc -framework Foundation MyFirstClass.m -o MyFirstClass</pre>
<p>se não houve nenhum erro o executável &#8220;MyFirstClass&#8221; será criado, e quando executado exibirá a seguinte saída:</p>
<pre class="brush: plain;">
Alex-Chiarandas-MacBook-Pro:trainning aechiara$ ./MyFirstClass
2010-01-05 22:02:15.169 MyFirstClass[380:903] Número informado é: 5
Alex-Chiarandas-MacBook-Pro:trainning aechiara$
</pre>
<p>Divirta-se alterando o código para exibir outras mensagens ou realizar somas por exemplo. O NSLog se comporta como o &#8220;printf&#8221; do C.</p>
<p>Até o próximo artigo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2010/01/05/introducao-ao-objective-c-parte-2-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developers Born Brave!!!</title>
		<link>http://www.outofmemory.blog.br/2009/11/30/developers-born-brave/</link>
		<comments>http://www.outofmemory.blog.br/2009/11/30/developers-born-brave/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 13:16:43 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=367</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div id="attachment_368" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.outofmemory.blog.br/wp-content/uploads/2009/11/developersarebornbrave.jpg"><img src="http://www.outofmemory.blog.br/wp-content/uploads/2009/11/developersarebornbrave-300x140.jpg" alt="Developers Born Brave" title="Developers Born Brave" width="300" height="140" class="size-medium wp-image-368" /></a><p class="wp-caption-text">Developers Born Brave</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/11/30/developers-born-brave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução ao Objective-C &#8211; parte 1</title>
		<link>http://www.outofmemory.blog.br/2009/10/19/introducao-ao-objective-c-parte-1/</link>
		<comments>http://www.outofmemory.blog.br/2009/10/19/introducao-ao-objective-c-parte-1/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:06:50 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=325</guid>
		<description><![CDATA[Se você pretende desenvolver para MacOS e/ou iPhone, você deve ter levado em consideração aprender a programar em Objective-C. A boa notícia (talvez não para todos) é que Objective-C é muito parecida com C/C++ e Java, o que com certeza agiliza o aprendizado.
Não é o objetivo desse artigo, contar como ou porque a linguagem surgiu, [...]]]></description>
			<content:encoded><![CDATA[<p>Se você pretende desenvolver para MacOS e/ou iPhone, você deve ter levado em consideração aprender a programar em Objective-C. A boa notícia (talvez não para todos) é que Objective-C é muito parecida com C/C++ e Java, o que com certeza agiliza o aprendizado.</p>
<p>Não é o objetivo desse artigo, contar como ou porque a linguagem surgiu, mas se quiser informações a respeito, a página do Objective-C no <a title="Objective-C" href="http://en.wikipedia.org/wiki/Objective-C" target="_blank">Wikipedia</a> é um bom lugar para começar.</p>
<p><span id="more-325"></span><br />
Vamos começar mostrando como se invoca um método. Na verdade, em Objective-C um método não é invocado, o que acontece é que você envia uma &#8220;mensagem&#8221; para um objeto,  e ele se encarrega de responder de maneira apropriada (mais sobre isso nos próximos artigos).</p>
<p>em Java:</p>
<pre class="brush: java;">
user.doSomething();
user.setName(&quot;Alex&quot;);
</pre>
<p>em C:</p>
<pre class="brush: cpp;">
doSomething();
setName(&quot;Alex&quot;);
</pre>
<p>em Objective-C:</p>
<pre class="brush: cpp;">
[user doSomething];
[user setName:@&quot;Alex&quot;];
</pre>
<p>Como podem ver, apesar da sintaxe ser um pouco diferente, a chamada é bem intuitiva, a diferença é que ao invés de se chamar &#8220;objeto.metodo&#8221; (que também é suportado), usa-se a chamada entre colchetes com espaço &#8220;[objeto metodo:parametro]&#8220;.</p>
<p>Se para &#8220;enviar uma mensagem&#8221; para um objeto é um pouco diferente, associar o retorno é tão simples quanto nas outras linguagens:</p>
<p>Em &#8220;C++&#8221; seria algo assim:</p>
<pre class="brush: cpp;">
string name = user.getNome();
</pre>
<p>Em &#8220;Objective-C&#8221;:</p>
<pre class="brush: cpp;">
NSString *name = [NSString string];
name = [user nome];
[name release];
</pre>
<p>No exemplo acima, a string &#8220;nome&#8221; é alocada, o valor contido na proprieda &#8220;nome&#8221; do objeto &#8220;user&#8221; é associado a nossa string e então nossa string é desalocada.</p>
<p>Bom, agora que já fizemos o primeiro contato com a linguagem, no próximo artigo veremos como declarar e implementar classes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/10/19/introducao-ao-objective-c-parte-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Wave</title>
		<link>http://www.outofmemory.blog.br/2009/07/01/google-wave/</link>
		<comments>http://www.outofmemory.blog.br/2009/07/01/google-wave/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 18:49:45 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=318</guid>
		<description><![CDATA[O Google começou a distribuir as accounts para o pessoal do Brasil que foi ao Google Developer Day 2009.
Logo vou postar as primeiras impressões dele aqui.
]]></description>
			<content:encoded><![CDATA[<p>O Google começou a distribuir as accounts para o pessoal do Brasil que foi ao Google Developer Day 2009.</p>
<p>Logo vou postar as primeiras impressões dele aqui.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/07/01/google-wave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple WWDC 2009</title>
		<link>http://www.outofmemory.blog.br/2009/06/08/apple-wwdc-2009/</link>
		<comments>http://www.outofmemory.blog.br/2009/06/08/apple-wwdc-2009/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 14:32:43 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[steve jobs]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=304</guid>
		<description><![CDATA[Teve início hoje (dia 08/06/2009) mais uma WWDC 2009 (Apple World Wide Developer Conference).
A edição deste ano está sendo aguardada com muita expectativa, pois muito se especula sobre o lançamento de novas versões do iPhone e outros produtos da Apple.
Alguns ainda diziam que este evento marcaria a volta de Steve Jobs após afastamento por problemas [...]]]></description>
			<content:encoded><![CDATA[<p>Teve início hoje (dia 08/06/2009) mais uma <a title="WWDC 2009" href="http://developer.apple.com/WWDC/" target="_blank">WWDC 2009</a> (Apple World Wide Developer Conference).</p>
<p>A edição deste ano está sendo aguardada com muita expectativa, pois muito se especula sobre o lançamento de novas versões do iPhone e outros produtos da Apple.</p>
<p>Alguns ainda diziam que este evento marcaria a volta de Steve Jobs após afastamento por problemas de saúde, vamos esperar para ver.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/06/08/apple-wwdc-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desenvolvendo aplicativos para iPhone, preparando o ambiente</title>
		<link>http://www.outofmemory.blog.br/2009/04/13/desenvolvendo-aplicativos-para-iphone-preparando-o-ambiente/</link>
		<comments>http://www.outofmemory.blog.br/2009/04/13/desenvolvendo-aplicativos-para-iphone-preparando-o-ambiente/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 15:22:59 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[aplicativos]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Connections]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=289</guid>
		<description><![CDATA[No artigo que publiquei anteriormente aqui fiz uma breve introdução ao iPhone e iPod Touch e como eles chegaram trazendo todo um novo mundo de possibilidades para desenvolvedores e usuários. No momento em que estava escrevendo este artigo a Apple anunciava a versão 3.0 do firmware para iPhone (overview aqui) que traz algumas novidades interessantes [...]]]></description>
			<content:encoded><![CDATA[<p>No artigo que publiquei anteriormente <a title="Desenvolvendo aplicativos para iPhone" href="http://www.outofmemory.blog.br/2009/04/06/desenvolvendo-aplicativos-para-iphone/" target="_blank">aqui</a> fiz uma breve introdução ao iPhone e iPod Touch e como eles chegaram trazendo todo um novo mundo de possibilidades para desenvolvedores e usuários. No momento em que estava escrevendo este artigo a Apple anunciava a versão 3.0 do firmware para iPhone (overview <a title="Overview novo firmware da Apple" href="http://www.apple.com/iphone/preview-iphone-os/" target="_blank">aqui</a>) que traz algumas novidades interessantes para os usuários, dentre elas:</p>
<blockquote>
<ul>
<li>Search your iPhone</li>
<li>Cut, copy, and paste</li>
<li>Send photos, contacts, audio files, and location via MMS (iPhone 3G only)</li>
<li>Read and compose e-mail and text messages in landscape</li>
</ul>
</blockquote>
<p>Para os desenvolvedores, algumas features novas também se destacam, entre elas:</p>
<blockquote>
<ul>
<li>in-app purchases — like subscriptions, additional game levels, and new content.</li>
<li>They can also create apps that connect peer to peer via Bluetooth, communicate with hardware accessories</li>
<li>use the Apple Push Notification service to provide alerts.</li>
</ul>
<p>Falarei dessas features com mais detalhes mais tarde.</p></blockquote>
<p>Pois bem, agora você está empolgado, e gostaria de fazer o seu primeiro software para iPhone, e está se perguntando por onde começar. Abaixo eu listo os passos básicos que você deve seguir para iniciar seu desenvolvimento:</p>
<ol>
<li>se você ainda não possui um iPhone/iPod Touch, eu (e a Apple) recomendamos que você se prepare para adquirir um. O emulador é bem fiel ao device, mas todo o software deve ser testado no aparelho antes de submetido à Apple para aprovação;</li>
<li>se ainda não possuir, compre um Apple Intel Based, não pode ser os da linha PowerPC; (read me do SDK <a title="Readme SDK iPhone" href="http://developer.apple.com/iphone/download.action?path=/iphone/iphone_sdk_for_iphone_os_2.2.1__9m2621a__final/iphone_sdk_for_iphone_os_2.2.1readmefinal.pdf" target="_self">aqui</a>, precisa ser cadastrado para visualizar o arquivo)</li>
<li>vá até o iPhone Developer Center da Apple (clicando <a title="iPhone Developer Center" href="http://developer.apple.com/iphone/" target="_blank">aqui</a>) e cadastre-se. Isso já dará acesso ao download do XCode (IDE para desenvolvimento) e à vários vídeos e exemplos de código. Se você chegou até aqui, já consegue fazer e testar seus aplicativos com o XCode, mas se quer vender suas aplicações, precisa seguir adiante;</li>
<li>agora você precisa pagar a taxa (anual) de 99 obamas (U$ 99.00) para a Apple, esse valor é cobrado para que você faça parte do &#8220;<strong>iPhone Developer Program&#8221;</strong> e possa publicar suas aplicações (se aprovadas pela Apple) na AppStore. Após realizar este processo, você receberá um email da Apple, parabenizando você por fazer parte do &#8220;iPhone Developer Program&#8221;, e sua chave para ativação. Se sua aplicação será usada em vários aparelhos em uma empresa, existe outro tipo de assinatura chamada &#8220;<strong>Enterprise</strong>&#8221; e o valor é de 299 obamas (U$ 299.00) que além do que é oferecido pela versão &#8220;single developer&#8221; ainda disponibiliza uma nova feature para o iTunes conseguir fazer deploy da aplicação nos vários aparelhos da sua empresa.</li>
</ol>
<p>Feito isso, é só pegar o livro de Objective C, ler os tutoriais do site da Apple e fazer a sua aplicação. No próximo posts, veremos o XCode e como fazer um Hello World !!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/04/13/desenvolvendo-aplicativos-para-iphone-preparando-o-ambiente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
