<?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>CEBLOG@Addinte &#187; Iniciante</title>
	<atom:link href="http://addinte.com/ceblog/tag/iniciante/feed/" rel="self" type="application/rss+xml" />
	<link>http://addinte.com/ceblog</link>
	<description>Um blog sobre Windows CE em português</description>
	<lastBuildDate>Fri, 28 Aug 2009 21:39:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sopa de Letrinhas</title>
		<link>http://addinte.com/ceblog/2009/08/28/sopa-de-letrinhas/</link>
		<comments>http://addinte.com/ceblog/2009/08/28/sopa-de-letrinhas/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 19:07:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Iniciante]]></category>
		<category><![CDATA[Platform Builder]]></category>
		<category><![CDATA[Visual Studio 2005]]></category>

		<guid isPermaLink="false">http://addinte.com/ceblog/?p=24</guid>
		<description><![CDATA[
Um dos maiores problemas enfrentados no desenvolvimento é de como usar a ajuda. Normalmente, existe um guia de referência de todas as funções, mas ele não é claro o suficiente pra quem chega “agora”.
Particularmente, eu recomendo ao pegar uma plataforma/linguagem nova traçar um objetivo simples (quando estava no colégio técnico, meu objetivo era sempre fazer [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="http://farm1.static.flickr.com/193/474912291_53893098d7.jpg" alt="" width="500" height="375" /></p>
<p>Um dos maiores problemas enfrentados no desenvolvimento é de como usar a ajuda. Normalmente, existe um guia de referência de todas as funções, mas ele não é claro o suficiente pra quem chega “agora”.</p>
<p>Particularmente, eu recomendo ao pegar uma plataforma/linguagem nova traçar um objetivo simples (quando estava no colégio técnico, meu objetivo era sempre fazer um programinha que calculava a fórmula de Baskara). Comece do começo, escreva um Hello World, se acostume com a ferramenta, coloque breakpoints. Tente antes de sair perguntando, para que quando você fizer a pergunta, ela já será não tão obvia e ao mesmo tempo você entenderá melhor a resposta pra ela. E leia pelo menos os tutoriais iniciais. Saiba do que a ajuda fala quando está lidando com termos que você nunca viu antes, <strong>principalmente acrônimos. E são deles que gostaria de falar aqui:</strong></p>
<ul>
<li><strong>SDK: Software Development Kit</strong>; O SDK contém as bibliotecas (*.h, *.lib) para o desenvolvimento específico para aquele hardware que você deseja trabalhar com. No caso do Visual Studio 2005, ele já vem com o SDK para o desenvolvimento em Pocket PC. O SDK <strong>pode ou não incluir um emulador</strong> (como é o caso do Pocket PC 2003, que vem com um emulador para vários tipos de tela e teclado diferente). Além disso, ao instalar um SDK e escolhe-lo ao iniciar um projeto<strong>, ele já acerta o caminho para as headers e libraries</strong>, além de várias outras configurações do compilador, tais como, por exemplo, a arquitetura alvo para qual se deseja desenvolver.</li>
</ul>
<p>Normalmente, é possível utilizar qualquer SDK que tenha a mesma arquitetura de processador para um hardware qualquer.  Por isso que em meu projeto TFTPCE do codeplex eu uso o Windows CE Standard SDK, que me dá a possibilidade de compilar pra qualquer arquitetura. (<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=fa1a3d66-3f61-4ddc-9510-ae450e2318c3">http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=fa1a3d66-3f61-4ddc-9510-ae450e2318c3</a>)</p>
<p>É vantagem usar um SDK específico quando o fabricante do hardware fornece um, pois além das APIs padrão da Microsoft ele pode colocar mais algumas referências a funções especiais do hardware dele. (Por exemplo, um hardware que tenha uma garra pode ter uma API que controla essa garra)</p>
<ul>
<li><strong>DTK: Developer Tool Kit</strong>: O DTK não é comumente usado, esse é o primeiro que eu vejo. Ele constitui de algumas ferramentas extras <strong>que dependem do SDK para funcionar.</strong> O Link pro DTK do Windows Móbile 6.5 é esse:</li>
</ul>
<p><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e">http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e</a></p>
<p>Além desses dois acrônimos, há também os que são mais comuns de ser ouvido quando se trabalha um nível mais baixo, com o Platform Builder, isto é, adaptando o Sistema Operacional para um hardware específico.</p>
<ul>
<li><strong>BSP, OEM e OAL: </strong>O BSP vem de Board Support Packager constitue em um conjunto de drivers e configurações que o fabricante de hardware, <strong>o OEM (Original Equipment Manufacturer).</strong> Além dos drivers, o BSP deve ter uma camada que conecta o processador com o Kernel do CE (pré-compilado). Essa camada é a <strong>OAL (OEM Adaptation Layer)</strong></li>
</ul>
<p><em>*A imagem ilustrativa foi retirada do flicker de Lucia Freitas, e está sobre a creative commons : <a href="http://www.flickr.com/photos/lufreitas/474912291/" target="_blank">http://www.flickr.com/photos/lufreitas/474912291/</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://addinte.com/ceblog/2009/08/28/sopa-de-letrinhas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile x Windows CE x Pocket PC</title>
		<link>http://addinte.com/ceblog/2009/08/18/windows-mobile-x-windows-ce-x-pocket-pc/</link>
		<comments>http://addinte.com/ceblog/2009/08/18/windows-mobile-x-windows-ce-x-pocket-pc/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 15:37:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Iniciante]]></category>
		<category><![CDATA[Pocket PC]]></category>
		<category><![CDATA[Windows CE]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://addinte.com/ceblog/?p=17</guid>
		<description><![CDATA[É impressionate ver a quantidade de pessoas que confundem o Windows Mobile com o Windows CE na internet. Também pudera, isso não é deixado de forma precisa pelos marketeiros da Microsoft. Isso me faz lembrar de um video&#8230;

Ok, videozinhos engraçados á parte:
Windows CE
O Windows CE é um sistema operacional modular, embarcado. Isso significa que você [...]]]></description>
			<content:encoded><![CDATA[<p>É impressionate ver a quantidade de pessoas que confundem o Windows Mobile com o Windows CE na internet. Também pudera, isso não é deixado de forma precisa pelos marketeiros da Microsoft. Isso me faz lembrar de um video&#8230;</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/aeXAcwriid0&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/aeXAcwriid0&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Ok, videozinhos engraçados á parte:</p>
<p><strong>Windows CE</strong></p>
<p>O Windows CE é um sistema operacional modular, embarcado. Isso significa que você pode pegar apenas as partes que você precisa para fazer com quê ele funcione em dispositivos com fins bem específicos. Por exemplo, nos sistemas de entretenimento em vôo. Ou em uma máquina de café, ou até controlando um elevador em um condomínio. Ou até em uma urna eletrônica (Todos esses são exemplos reais &#8211; uma das primeira versões da urna eletrônica rodava em CE); Na maioria dessas aplicações, a pessoa nem sabe que o CE está rodando. (Provavelmente se soubesse ia ficar como mimimi porquê Windows isso, Windows aquilo&#8230;)</p>
<p>Utilizando uma aplicação chamada de <strong>Platform Builder</strong>, você consegue criar imagens do sistema que variam desde minúsculas (baseadas em Tiny-Kernel, que usa 500kb) pra rodar, até imagens com mais de 100MB, com todos os recursos que você deseja, tais como touch screen, aceleração multimídia via hardware, acesso a internet, e por ae vai.</p>
<p>Ao criar um novo projeto no Platform Builder, você pode escolher entre os vários templates (Tiny Kernel, Thin Client, Media Client) de plataforma, e depois ir adicionando/removendo o que precisa. Um desses templates que mais foi utilizado foi o <strong>Pocket PC, </strong>que é a base do que chamávamos os PDA (Personal Digital Assistant), enquanto eles ainda faziam sentido no mercado (Antes dos smartphones aparecerem).<strong><br />
</strong></p>
<p>De olho nesse mercado, a Microsoft aperfeiçoou esse template adicionando algumas API´s bem específicas, sendo a mais importante delas o suporte a telefonia celular.</p>
<p>Então, ela pegou todo esse template específico, e criou uma aplicação chamada de Platform Builder for Windows Mobile, que é distribuido apenas para parceiros que assinam um NDA específico. Essa aplicação gera imagens de <strong>Windows Mobile</strong>, que é a base de qualquer smartphone no mercado, entre eles o Motorola Q, e o Samsung Omnia.</p>
<p><em>-Tá, legal bacana, mas possso rodar meu programinha favorito que roda no Windows XP  no Windows CE/Mobile?</em></p>
<p>Não, são basess de código diferente. O Windows CE tem <strong>apenas um subset da API do Windows XP</strong>+. Não que isso faça muita diferença, pois a API do Windows é gigantesca devido as várias revisões e funções que foram duplicadas. Além de que o Windows CE pode rodar em arquiteturas de processadores diferentes da X86. Mas se você tiver o código fonte, o porte não é tão complexo, dependendo das tecnologias que você usou. Se você tiver usando QT, C++, o porte é relativamente simples. Mas não se esqueça que você está portando para um sistema operacional com recursos limitados, dado que o seu alvo é bem diferente do Windows XP.</p>
<p><em>-Humm, ok, se então o Windows Mobile é baseado em Windows CE, posso rodar meu programinha favorito do meu celular no Thin Client que a minha empresa usa.</em></p>
<p>Provavelmente não, pois os thin clients da empresa são em sua maioria X86, e os smartphones, ARM. Mas, se você tiver um thin client baseado em ARM, provavelmente irá funcionar.</p>
<p><em>-Mas e a tela, são coisas completamente diferentes!</em></p>
<p>Sim, são. No caso do programador só ter planejado a aplicação pra funcionar no celular, ela irá ficar limitada em uma janela do tamanho da resolução do celular. E o touch será simulado com os cliques do mouse.</p>
<p>Versões do Windows Mobile/Pocket PC com o CE</p>
<p>PocketPC2003/Windows Mobile 2003 &#8211;&gt; Baseado no Windows CE 4.2</p>
<p>Windows Mobile 2005 &#8211;&gt; Baseado no Windows CE 5.0</p>
<p>Windows Mobile 6 até o Windows Mobile 6.5 &#8211;&gt; Baseado no Windows CE 5.2</p>
<p>Tem uma tabela completíssima aqui: <a href="http://www.pocketpcfaq.com/wce/versions.htm" target="_blank">http://www.pocketpcfaq.com/wce/versions.htm</a></p>
<p>Ah, mais uma coisa. A nova versão do Windows CE não se chama Windows CE oficialmente, e sim <strong>Windows Embedded CE</strong></p>
<p><em>&#8211; E o quê raios significa CE?</em></p>
<p>A explicação oficial da microsoft (<a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q166915 ">http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q166915</a>) é que CE não significa nada específico, e sim uma implicação de um número de preceitos em volta do mesmo, incluíndo  &#8220;Compacto&#8221;, &#8220;Conectável&#8221;, &#8220;Compatível&#8221;,&#8221;Companheiro&#8221; e &#8220;Eficiente&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://addinte.com/ceblog/2009/08/18/windows-mobile-x-windows-ce-x-pocket-pc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

