Desenvolver programas para Windows Mobile 6

The Dealer

Power Member
Tenho um familiar que pretende ser vendedor de produtos alimentares, como tal precisará de um equipamento, que contenha funções muito "básicas", inserir, remover, alterar clientes, inventário stock, impressão para .pdf de facturas (para posterior impressão), entre outras.

Ora vejamos, isso conseguiria fazer em ambiente Windows ou Linux, num piscar de olhos (em C, Java, C++(...), mas a questão é, o objectivo seria utilizar num PDA (um HTC Touch por exemplo), por isso o que pergunto é, é relativamente simples para tem sólidos conhecimentos de programação, desenvolver uma aplicação para Windows Mobile? Alguem que já o tenha feito poderia partilhar a sua experiência?
 
Viva!

O desenvolvimento de aplicações, como a que pretendes, para Windows Mobile é relativamente simples. A aplicação seria composta sobretudo à base de Windows Forms, com alguns controlos mais elementares, como o button, combobox, text box e forms propriamente ditos. A persistência de dados mais simples de ser implementada, na minha opinião, é localmente num ficheiro XML; o C# fornece suporte total à sua manipulação. No entanto, a sincronização com um servidor também poderia ser implementada. O ambiente de desenvolvimento (IDE) também é muito importante; o Microsoft Visual Studio, fornece suporte total, desde um emulador para teste das aplicações até à geração do installer para o deploy da aplicação no dispositivo móvel.

Espero ter ajudado.

Cumps!
:D
 
Sim, é relativamente simples, mas obviamente que também depende da complexidade do teu projecto. Se já desenvolveste com Windows Forms, vais ver que é bastante semelhante.
 
Viva!

O desenvolvimento de aplicações, como a que pretendes, para Windows Mobile é relativamente simples. A aplicação seria composta sobretudo à base de Windows Forms, com alguns controlos mais elementares, como o button, combobox, text box e forms propriamente ditos. A persistência de dados mais simples de ser implementada, na minha opinião, é localmente num ficheiro XML; o C# fornece suporte total à sua manipulação. No entanto, a sincronização com um servidor também poderia ser implementada. O ambiente de desenvolvimento (IDE) também é muito importante; o Microsoft Visual Studio, fornece suporte total, desde um emulador para teste das aplicações até à geração do installer para o deploy da aplicação no dispositivo móvel.

Espero ter ajudado.

Cumps!
:D


Windows forms? Por persistência de dados, referes-te ao seu armazenamento?

Pois, tendo em conta que teria vários clientes e vários produtos, estava aqui a pensar quais seriam as melhores opções para guardar a informação...

E sim, tenho acesso a Visual Studio 2008 :)

Obrigado pelas respostas!
 
Viva!

Sim, a persistência dos dados corresponde ao seu armazenamento, que no caso que te referi seria no próprio dispositivo móvel. Também podes armazenar os dados num servidor, mas ai o dispositivo móvel tem que ter uma ligação à Internet. Uma outra solução, seria armazenar os dados num servidor local (SQLServer Compact Edition), sendo a sincronização com os dados do servidor realizada na altura que fosse mais conveniente para o utilizador.

Cumps!
:D
 
Ah e tal correr em várias plataformas bla bla bla, pode ser mau em muita coisa mas... Pensaste em Java ?

Não vás por aí. O suporte Windows Mobile no VS2008 é tão bom, que desenvolver em Java faz muito pouco sentido....Um passinho de cada vez, ir logo para multi plataforma quando não é requisito...

Desenvolvi uma aplicação de vendas (com gestão de clientes, encomendas, actividades, campanhas, pricing complexo, sincronização SQL Mobile 2005) totalmente funcional em VB (até podias telefonar para o cliente apartir da Gestão de Cliente), com conhecimentos de VB muito básicos, e sem acesso ao Google. É tão fácil quanto isso.

O VS2008 tem emuladores para testar, instala directamente o software no PDA se quiseres, é tudo muito simples.
 
Última edição:
Só um aparte, tens que ter pelo menos a versão standard do VS2008 nas versões express não podes instalar o sdk do windows mobile 6.
 
Só um aparte, tens que ter pelo menos a versão standard do VS2008 nas versões express não podes instalar o sdk do windows mobile 6.

Não há problema :)

No caso do C#, teria de usar .NET para implementar os Windows Forms, correcto? Sinceramente, essa implementação de ligação ao "servidor" local é muito dificil? Num computador normal, sei fazer isso, mas sou um completo ignorante do que diz respeito a WM :(

Já agora, como referi no post anterior, não tenho grandes conhecimentos de Java, o que certamente me influencia no C#, por isso, tendo em conta que estou muito à vontade no C, C++ não seria uma boa opção, ou iria ter problemas a armazenar os dados?
 
Windows Mobile.

Em Windows Mobile para armazenamento, podes usar o sqlite 3 ou o sql server compact edition.
podes tambem serializar os dados para xml como foi referido acima.

estas decisões têm mais a ver com a complexidade do projecto.
quanto ao desenvolvimento de GUI (netcf) winforms, são bem mais limitados em termos de funcionalidades que Winforms normais. como deves perceber a compact framework é bem menos capaz.

No desenvolvimento tens é que ter atenção ao recursos usados pela tua APP. Existem algumas nuances do Windows Mobile que não são pacificas para alguns developers, tais como o SO matar aplicações sem aviso prévio caso necessite de recursos, ou questões relacionadas (drivers)com o wake up do dispositivo quando instalado em cartões de memoria.

Caso necessites de usar coisas como Bluetooth, GPS, RAPI, SAPI, TAPI terás baixar um bocado de nivel e fazeres interface nativo com o SO Windows CE/Mobile.

Outra questão importante ao desenvolveres é o tamanho de ecrans, orientação do mesmo e DPI . Provavelmente vais desenvolver para uma gama de ecrans e resoluções, logo para um grupo de aparelhos muito especifico.

Se for para HTC, terás ainda que aprender a usar o SDK da HTC para as tretas do Touch Screen (caso queiras implementar isso).

/ing
 
Em Windows Mobile para armazenamento, podes usar o sqlite 3 ou o sql server compact edition.
podes tambem serializar os dados para xml como foi referido acima.

Sim, posso serializar para xml usando C# e .NET, mas em relação ao sqlite, é possivel correr um servidor num PDA ? Não estou a ver como o sqlite pode ser util numa situação destas.
 
Viva!

Eu utilizei uma compact version do SQLServer, tal como te indiquei num post anterior. Trata-se do SQLServer Compact Edition. Este SGBD não suporta todas as funcionalidades do SQLServer (stored procedures, por exemplo), mas tem uma footprint muito pequena de aproximadamente 3MB. Sinceramente, recomendo este em relação ao SQLite, porque de certeza que a integração da aplicação com a base de dados será muito mais simples.

Cumps!
:D
 
Viva!

Eu utilizei uma compact version do SQLServer, tal como te indiquei num post anterior. Trata-se do SQLServer Compact Edition. Este SGBD não suporta todas as funcionalidades do SQLServer (stored procedures, por exemplo), mas tem uma footprint muito pequena de aproximadamente 3MB. Sinceramente, recomendo este em relação ao SQLite, porque de certeza que a integração da aplicação com a base de dados será muito mais simples.

Cumps!
:D

É isto portanto:)
http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx

Mas ora vejamos, qual é a linguagem recomendada para interagir com uma base de dados criada com esta aplicação, C# ou C++ ?

EDIT: Mas não será necessário igualmente correr um web server local no equipamento com Windows Mobile?
 
Última edição:
É isto portanto:)
http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx

Mas ora vejamos, qual é a linguagem recomendada para interagir com uma base de dados criada com esta aplicação, C# ou C++ ?
Tudo o que desenvolveres será na Compact Framework .Net, portanto será C#.

EDIT: Mas não será necessário igualmente correr um web server local no equipamento com Windows Mobile?
Não. Tu não vais criar uma web app, vais criar um windows form.
 
Mas se o skcratch falou do SQL Server, e o SQL Server implica um servidor a correr de forma a ligar as bases de dados, como é possível criar uma base dados em SQL? Desculpem mas não estou mesmo a perceber...

Em primeiro lugar tu disseste "web server local", e SQL Server não precisa de servidor Web nem na versão full.

O que queres dizer com "e o SQL Server implica um servidor a correr de forma a ligar as bases de dados"? O SQL Server é um serviço que corre num PC e que aceita ligações remotas. Não é um web server.

A base de dados e as tabelas, desenhas no Visual Studio.
 
Última edição:
As bases de dados no SQL Server CE não são mais do que um ficheiro (de extensão .sdf). Para criares a base de dados, podes fazer como o AwakE disse e distribuir o ficheiro .sdf em conjunto com a aplicação ou, alternativamente, crias a base de dados (e respectivas tabelas) através de código.

Se já utilizaste ADO.NET, vais verificar que a API para o SQL Server CE é bastante semelhante. Para a connection string, apenas precisas de indicar o path para o ficheiro .sdf.
 
As bases de dados no SQL Server CE não são mais do que um ficheiro (de extensão .sdf). Para criares a base de dados, podes fazer como o AwakE disse e distribuir o ficheiro .sdf em conjunto com a aplicação ou, alternativamente, crias a base de dados (e respectivas tabelas) através de código.

Se já utilizaste ADO.NET, vais verificar que a API para o SQL Server CE é bastante semelhante. Para a connection string, apenas precisas de indicar o path para o ficheiro .sdf.

humm... e o windows form, é um componente .NET ?
 
Última edição:
Back
Topo