logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Dez 5

Play Framework – alta produtividade em Java

Escrito por Erko Bridee em .NET, 1, 2.0, 4, 6, action, Adobe, Adobe Flex, apache, api, AR, Arquitetura, BI, blog, browser, C#, case, class, cliente, Componente, Componentes, control, Controles, CRUD, css, Curso, Cursos, dados, Desenvolvedor, desenvolvedores, Desenvolvimento, Desktop, Dica, Download, Eclipse, email, engine, err, erro, exemplo, Exemplos, Flex, Flexmania, for, framework, Frameworks, gae, Geral, git, Google, Hibernate, html, ide, IE, if, image, imagens, int, internet, Java, JPA, Links, mg, mvc, novidade, Novidades, O, on, Outros, produtividade, rails, rest, RIA, Ria’s Geral, ruby, ruby on rails, S+S, server, servidor, site, state, tag, TAT, Tema, template, Teste, Tree, Tutorial, UI, UX, Ved, web, Web Service, XML, XP @ 12 5th, 2011 | via http://blog.erkobridee.com | Sem comentários
Erko Bridee
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

O Play ? um framework open source para aplica??es web, escrito em Java, que possibilita o desenvolvimento de aplica??es web que seguem o padr?o MVC. Tem por objetivo otimizar a produtividade do desenvolvedor atrav?s do uso de configura??o sobre conven??o (CoC). Com recompila??o feita durante a execu??o da aplica??o, e caso ocorra algum erro, o respectivo ? exibido no browser, indicando a linha do erro.

Aten??o: o objetivo desse post ? realizar uma vis?o geral do que se trat? o Play Framework que temos ouvidos os coment?rios na internet.

O Play Framework torna o desenvolvimento de aplica??es Java e Scala uma tarefa f?cil para o desenvolvedor.

Site: Play Framework

Descubra uma alternativa limpa e leve para as atuais aplica??es Java Enterprise. O Play ? focado na produtividade do desenvolvedor e tem por alvo a arquitetura RESTFul.

Apesar do Play ter sido escrito em Java, ele suporta a linguagem Scala desde a vers?o 1.1 (hoje[Dezembro/2011] est? na vers?o 1.2.4). Este ano a empresa Typesafe (respons?vel pela linguagem Scala), anunciou a aquisi??o do Play Framework e este ser? mantido pela empresa. Uma das novidades relacionado a este anuncio ? que a vers?o 2.0 o n?cleo do Play Framework est? sendo totalmente reescrito em Scala.

Um v?deo para uma breve apresenta??o do Play Framework: Desenvolcendo uma aplica??o web em 10 minutos

Motiva??o

O Play foi muito inspirado no Ruby on Rails e Django. Um desenvolvedor familiarizado com qualquer um desses 2, ir? se sentir em casa.

Algo que ? fato, Ruby on Rails e Django s?o produtivos, ent?o por que n?o ter o mesmo n?vel de produtividade com java?

O Play utiliza do poder das aplica??es Java, por?m sem o “sofrimento” necess?rio para o desenvolvimento de aplica??es centradas no modelo Java Enterprise. Libertando das metodologias e ideologias relacionadas ao desenvolvimento de aplica??es Java EE, o Play prove para os desenvolvedores uma maneira f?cil e elegante de trabalhar, visando o aumento da produtividade.

Caso voc? queria, basta um editor de c?digo e ser? mais que o suficiente para o desenvolvimento de aplica??es, chega a ser incr?vel pensar que conseguiremos desenvolver aplica??es Java Web sem a necessidade de um IDE (Eclipse, Netbeans, …), mas vale lembrar, que estas IDE's ainda possuem seus atrat?vos e auxiliam em nossa produtividade.

Apesar de que as aplica??es desenvolvidas com o Play, foram projetadas para executar dentro do JBoss Netty Web Server, as aplica??es podem ser empacotadas em arquivos WAR e distribu?das para outros servidores de aplica??es Java EE (ex.: Apache Tomcat).

Maiores diferen?as com os demais frameworks

Stateless: o Play ? totalmente RESTful – n?o existe conex?o por sess?o Java EE. Isto torna o Play muito mais escal?vel que os demais frameworks.

Sem configura??o: realizar o download, descompactar e desenvolver.

F?cil ida e volta: sem necessidade de deploy no servidor de aplica??o, apenas edite o c?digo e atualize o browser.

Teste unit?rio integrado: suportes nativos para JUnit e Selenium.

API elegante: raramente um desenvolvedor ter? a necessidade de importar alguma lib. O Play j? disponibiliza a maioria dos recursos necess?rios para o desenvolvimento de uma aplica??o.

M?todos est?ticos: todos os controles de entrada e m?todos de neg?cio s?o declarados como est?ticos. E isto ? de fato bem diferente o que vemos nos demais frameworks Java.

I/O Ass?ncrona: atrav?s do uso do servidor web JBoss Netty, o Play consegue disponibilizar e tratar uma enorme quantidade de requisi??es ass?ncronas.

Arquitetura Modular: assim como Rail e Django, o Play utiliza o conceito de m?dulos. O que possibilida um meio elegante e simples de expandir o core do Play.

M?dulo CRUD: f?cil constru??o de UI administrativas com pouco c?digo.

M?dulo Scala: disponibiliza um suporte completo para Scala.

Componentes

O Play utiliza massivamente algumas bibliotecas populares:

  • JBoss Netty para o servidor web.
  • Hibernate para a camada de dados.
  • Groovy para a os templates.
  • O compilador do Eclipse para atualiza??o da aplica??o sem necessidade de realizar um deploy da aplica??o para testar as altera??es (hot-reloading).
  • Apache Ivy para gerencimanto de dependencias.

Funcionalidades presentes no n?cleo do Play:

  • Um framework RESTful limpo e leve.
  • CRUD: um m?dulo para simplicifar a edi??o de modelos de objetos.
  • Secure: um m?dulo para habilitar um sistema de autentifica??o de usu?rios.
  • Um framework de valida??o baseado em anota??es.
  • Um Job Scheduler (agendamento de tarefas).
  • Suporte para emails SMTP de maneira simples.
  • Suporte para JSON e XML.
  • Uma camada de persist?ncia baseada em JPA.
  • Uma base de dados embutida para r?pido deploy e testes da aplica??o.
  • Um framework completo para realiza??o de testes.
  • Funcionalidade para upload de arquivos.
  • Suporte para m?ltiplos ambientes de desenvolvimento.
  • Uma poderosa engine de templates baseadas em Groovy com templates, hierarquias e tags.
  • Arquitetura modular, que possibilita criar novas funcionalidades para o n?cleo facilmente.
  • Suporte para OpenID e clientes de Web Service.

Links ?teis

Informa??es a mais da Wikipedia

Overview do Play Framework 1.2.4

Documenta??o Play Framework 1.2.4

A documenta??o foi algo que achei interessante, me parece bem completa com bastante exemplos e informa??es de como utilizar as funcionalidades presentes no Play Framework.

Suporte para a linguagem Scala

Utilize a IDE de sua prefer?ncia (Eclipse, Netbeans, …)

Se por um acaso voc? utilize o Sublime Text 2, veja esse suporte para este editor de c?digo [github]

Reposit?rio de M?dulos

Dentre eles temos: MongoDB, GAE, Gera??o de PDF, GWT, SASS e SCSS, entre outros.

E agora?

Bom agora que j? temos uma boa id?ia do que se trata o Play Framework ? baixar e come?ar a testar e ver se na pr?tica ele ? bom mesmo.

Hora de fazer o download, instalar e colocar a m?o no c?digo: Tutorial para seguir e ver uma aplica??o do in?cio at? o “fim”

Eu particularmente ainda possuo algumas quest?es em aberto para descobrir as respostas, dentre elas est? uma: - Como ? que eu utilizo o Play Framework em um projeto com uma equipe? At? o momento s? tenho visto casos onde s?o apresentados desenvolvimetno de aplica??es r?pidas, por?m com um ?nico desenvolvedor…

No meu caso eu vou atr?s dessa reposta.


Veja também:

  • Tutorial : JDJ : Adobe Flex & Java
  • Voltando ao mundo HTML+JS e agora?
  • [Flexmania 2011] Planejando e projetando – Dashboad : Flex + Java
  • Lady Java
  • [ Java Desktop ] Processamento de Imagens Digitais
Nov 13

AMFRestfull: Back-end REST com saidas XML, JSON e AMF

Escrito por Mario Junior em 1, 2.0, Adobe Flex, AMF, AR, Arquitetura, back, blog, C#, cliente, demo, flash, Flex, html, IE, Java, novidade, O, on, Pessoal, pt, rest, Ria’s Geral, S+S, screen, Screencast, serviço, Serviços, site, UI, XML @ 11 13th, 2011 | via http://blog.mariojunior.com | Sem comentários
Mario Junior
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Fala pessoal! Fiz um screencast no Blog da DClick onde eu demonstro uma arquitetura de serviços RestFull simples com saídas em XML, JSON e – a novidade – AMF para clientes Flex/Flash.
A idéia é construir um back-end híbrido que sirva tanto a front-ends HTML/JS quanto front-ends Flash/Flex.

Visitem o link aqui:
http://blog.dclick.com.br/2011/11/13/amfrestfull-um-back-end-para-qualquer-front-end/pt/

Abraços!

Nov 12

Até logo, eBehavior – Inteligência para eCommerce

Escrito por Igor Musardo em 1, 2.0, 4, 6, AR, Behavior, BI, C#, class, cliente, Desenvolvedor, Dica, DRE, email, err, Ferramenta, for, Geral, IE, if, image, int, Liderança, Mercado de Trabalho, mg, Motivação, O, on, Partilha, Pessoal, produto, Projetos, pt, RIA, Ria’s Geral, S+S, team, Tema, Twitter, UI, Ved, vs @ 11 12th, 2011 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Por decis?es pessoais e por n?o mais compartilhar do mesmo sonho, estou me desligando com muito pesar da eBehavior.

Foi um ano de muito aprendizado, v?rias amizades feitas e principalmente de muito trabalho.

Sinto tremendo orgulho e honrado por ter passado por todas as ?reas da empresa, entrei como desenvolvedor onde pude conhecer por dentro a magia da recomenda??o acertiva de produtos e cross-intelligence que a eBehavior tem. Com o crescimento do time de dev assumi a Coordena??o da equipe e gerenciamentos dos projetos, onde melhorei o meu gerenciamento de pessoas, prazos, escopos e riscos que envolvem projetos de alta escalabilidade e disponibilidade como os da eBehavior. A empresa continuou a crescer ent?o assumi com orgulho a posi??o de Gerente de Produto com a grande responsabilidade de ditar o direcionamento dos produtos da eBehavior que cumpri com muita dedica??o e chatisse com os devs para o conseguirmos o melhor para o cliente, e ? uns dois meses atr?s com a sa?da do diretor comercial, assumi a responsabilidade de atuar frente aos clientes os ajudando no entendimento das ferramentas, na melhor configura??o e otimiza??o delas para suas lojas, estudando e entendendo cada empresa, cada loja, cada consumidor para essa otimiza??o. Foi um ano muito intenso para mim e para todos que estavam ao meu lado.

Agrade?o enormemente ao Andr? pela oportunidade de ter participado do projeto eBehavior durante esse um ano e principalmente por ter tido a possibilidade de passar de ponta a ponta na empresa.

Saio com a grata sensa??o de dever cumprido e desejando muito sucesso a esse time de guerreiros da eBehavior. Que um dia ir? mudar o rumo do ecommerce brasileiro e mundial.

Meus planos s?o de continuar atuando como desenvolvedor e consultor para eCommerce, uma ?rea que me aprofundei muito durante esse um ano de casa.

Deixo aqui o meu muito obrigado a todos com que eu conversei pessoalmente, por telefone, por email e at? para quem n?o conheci mas que de alguma forma participou do meu trabalho. Pois cada um de voc?s contribuiram de forma significativa para o meu crescimento pessoal e profissional.

Mais uma vez, obrigado e at? logo!

Igor Musardo

Nov 11

Minha opinião atual sobre a “Morte do Flash”

Escrito por Erko Bridee em .NET, 1, 2.0, 2009, 3d, 4, 6, action, Adobe, Adobe Air, Air, Ajax, Android, api, AR, Arquitetura, back, BI, blog, Blogs, browser, C#, class, cliente, css, css3, demo, Desenvolvimento, entrevista, err, facebook, Ferramenta, flash, Flash Player, for, game, git, html, html5, ide, IE, image, int, internet, jandersonfc, jandersonfc.com, Java, Javascript, jogo, Jogos, Mercado, mg, mobile, O, on, player, Projetos, prova, pt, Redes Sociais, Revistas, Ria’s Geral, S+S, site, SmartPhone, Sun, Tecnologia, Tema, tendencia, Teste, Twitter, UI, vs, web, zend @ 11 11th, 2011 | via http://blog.erkobridee.com | Sem comentários
Erko Bridee
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Nesses ?ltimos dias a internet est? virada em um caos depois dos boatos e anuncio da “Morte do Flash” (descont?nuo do Flash Player para disposit?vos m?veis, leia-se smartphones e tables Android/RIM), todo um medo gerado pelo combo da not?cia com a demiss?o de 750 funcion?rios da Adobe (EUA e Europa)

Minha real opini?o ? a seguir:

No mais, os projetos continuam, novos desafios est?o surgindo, novas oportunidades de ganhar dinheiro continuam aparecendo constantemente, nada de mimimi, bora usar HTML5, e que tecnologia for…

Roubando a frase do @jandersonfc disse no final desse post: As tend?ncias s?o suas aliadas

“Tecnologia, Ferramentas e metodologia s?o o meio, dinheiro no bolso ? o fim”

Se voc? ainda est? preocupado sobre a tal morte do Flash no mobile, recomendo ler o post: Adobe desiste do Flash Player plug-in para dispositivos m?veis do @igorcosta e reflita no seu texto.

Agora se voc? j? estava jogando a toalha achando que o Flash j? era, se voc? estava fechando o “caix?o”, pode executar um rollback ai, pois ontem (10/11/2011) foi disponibilizado o novo Flash Player 11.1 e AIR 3.1. Tenha em mente que a plataforma Flash ainda ter? um bom tempo de vida. Motivo banal pelo qual n?o ir?o conseguir matar o Flash, digo que talvez esse mundo mobile tenha at? que readerir ao Flash : games, ainda mais agora com o novo suporte a acelera??o gr?fica e a 3D. Outro grande motivo, se “matarem” o Flash Player hoje haver? uma revolta mundial dos jogadores do jogos do Facebook e demais redes sociais, tamb?m sabemos que o HTML5 est? a anos luz de dist?ncia da maturidade e capacidade do Flash Player atual, ent?o o Flash Player n?o morrera.

Algo que eu tenho em mente, quando penso no assunto, eu lembro da mesma agita??o que foi na ?poca do Ajax, no final aqui estamos n?s usando o Flash ao invez do Ajax para desenvolver sistemas robustos. O HTML5 para sites e algumas outras coisas at? que j? tem como utilizar, mas creio que vamos chegar na mesma situa??o que nos deparamos a alguns anos atr?s e recorreremos a algo como o Flash que ? mais robusto para desenvolvimento de sistemas.

Algu?m me diz como ? que eu fa?o uma arquitetura organizada, com pacotes no JavaScript?

Algu?m sabe se existe alguma maneira de trabalhar com IoC no JavaScript?

Fora outras quest?es para as quais n?o tenho resposta de como fazer usando HTML5 + JS + CSS3

Lembrando que a compatibilidade crossbrowser do HTML5 ? um pesadelo [mobile] [web browsers teste] [demos teste]

N?o estou dizendo que sou contra o HTML5, mas hoje ele ainda ? muito imaturo para desenvolver, leia bem: sistemas

E como n?o devemos nos apegar a tecnologia alguma, muito menos rejeitar qualquer outra que o mercado est? aderindo, recomendo o HTML5 Rocks para quem quizer estudar o HTML5.

No mais, n?o se desespere com as not?cias que voc? l? na internet, mas mantenha-se sempre atualizado, pois quem escolhe que tecnologia voc? ir? utilizar no pr?ximo projeto, provavelmente ser? o seu cliente, pedindo se roda no iPad…

Tweet

Veja também:

  • Flash Mobile 10 – Para Outubro de 2009
  • [Canvas vs. Flash] Butterfly 3D (Canvas + JavaScript)
  • Flash Player 10.1 : entrevistas e demos
  • Adobe Flash suporte completo para dispositívos móveis a caminho : agora vai
  • HTC Hero: primeiro dispositivo com Android e Flash
Out 30

Windows Phone Mango – Local Database

Escrito por Alexandre Tadashi em .NET, 1, 2.0, 4, 6, abas, AMF, Aplicativos, app, AR, Arquitetura, arte, Artigo, auto, BI, blog, Blogs, botão, C#, camp, class, classe, classes, cliente, código, collection, cultura, Curso, Cursos, dados, demo, desempenho, Desenvolvedor, Design, designer, Documentação, dotnet, DRE, err, event, Evento, exemplo, Ferramenta, for, Formação, handle, html, ide, IE, if, int, interface, layout, library, Links, linq, Linq to Sql, map, mg, Microsoft, monitor, MSDN, mudanças, O, on, Otimização, Outros, Partilha, processo, pt, rest, RIA, Ria’s Geral, S+S, SDK, server, serviço, silverlight, SQL Server, state, string, TAT, Tecnologia, Tema, template, Treinamento, UI, UX, Ved, vs, window, windows, XAML @ 10 30th, 2011 | via http://alexandretadashi.net/ | Sem comentários
Alexandre Tadashi
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Na versão Mango do Windows Phone, você pode manipular uma base de dados localmente, chamada de local database na documentação oficial, o recurso permite que o desenvolvedor crie aplicativos com registros de dados em tabelas, além de manipular seus registros utilizando o LINQ to SQL.

Uma base de dados local no WP7 fica localizada no Isolated Storage, um local acessível somente pela aplicação corrente, a arquitetura fica conforme a figura abaixo, onde temos a aplicação que contém um DataContext e através de LINQ to SQL, fazemos o acesso a base de dados local no Isolated Storage

Arquitetura Local Database

Arquitetura Local Database

Para saber mais sobre Isolated Storage acessem os links:

http://msdn.microsoft.com/en-us/library/ff402541(v=vs.92).aspx

http://www.windowsphonebrasil.net/windowsphonebrasil/post/2010/10/08/Salvando-e-restaurando-o-Application-State-no-Windows-Phone-7.aspx

No WP7 as aplicações ficam eram áreas isoladas uma das outras, ou seja, uma aplicação não tem acesso ao Isolated Storage de outra aplicação, portanto até o momento não é possível compartilhar uma base de dados local com diversas aplicações. Diferente de uma base de dados SQL Server, um local database não pode rodar como um serviço continuo, visto que ele é executado somente durante o processo da aplicação.

Você pode criar um local database para manipular uma quantidade de dados razoável utilizando as facilidades de consultas do LINQ to SQL juntamente com o relacionamento de tabelas, similar a uma base de dados comum, o local database é uma implementação do SQL CE para o WP7, permitindo realizar facilmente tarefas com incluir, alterar , excluir e realizar consultas com LINQ.

Até o momento não existe uma ferramenta de designer visual e oficial para criar as tabelas, relacionamentos, etc, com a base de dados local, o que poderia facilitar muito, neste artigo faremos um exemplo simples, somente com uma tabela, porém, em um projeto mais complexo, essa tarefa poderia ser um pouco trabalhosa, uma forma não oficial de criar o modelo seria utilizar o SQL Metal, para mais informação, acessem o Centro de Treinamento Oficial do Windows Phone no MSDN ou através do link : http://windowsphonegeek.com/articles/Using-SqlMetal-to-generate-Windows-Phone-Mango-Local-Database-classes .

Com o SQL Metal podemos criar o Data Context através de um comando e com poucas modificações deixá-lo compatível com o Mango e poupar a codificação manual da criação de tabelas e relacionamentos.

Exemplo de comando do SQL Metal:

%ProgramFiles(x86)%Microsoft SDKsWindowsv7.0ABin>SqlMetal.exe
/code:”C:CaminhoClienteDC.cs” “C:CaminhoClienteDB.sdf”

Outras formas:

http://claudiufarcas.blogspot.com/2011/10/windows-phone-mango-sql-ce-tips-and.html

http://blogs.ugidotnet.org/corrado/archive/2011/06/05/using-local-database-in-wp7-mango.aspx

Nesta primeira parte do artigo vou criar uma base de dados muito simples, com uma tabela somente e um único campo, dessa forma podemos focar em como criar e entender os conceitos envolvidos Vou criar uma base de dados Cliente.sdf, com uma tabela chamada Cliente e um campo chamado Nome.

A primeira classe que vamos criar é a entidade Cliente e decorar com alguns atributos utilizados para a manipulação da base de dados, a classe servirá de apoio para a criação da tabela cliente. Para que você possa inserir os atributos nas propriedades da classe, é necessário adicionar o using System.Data.Linq.Mapping, em seguida adicione o atributo [Table] logo acima da criação da classe e adicione o atributo [Column()] em cada propriedade, na primary key da tabela, personalize com :

[Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)]

Dessa forma a coluna será criada na tabela como sendo Primary Key, não permitindo registros duplicados e gerando automaticamente um número a cada inclusão. Com a adição do atributo Column() nas outras propriedades, cada coluna correspondente será criado na tabela.

Com os atributos de colunas você pode definir uma série de recursos, para saber quais são os atributos de colunas que você pode utilizar no LINQ to SQL para WP7 acesse o link http://msdn.microsoft.com/en-us/library/system.data.linq.mapping.columnattribute(VS.95).aspx

Um atributo em especial que adiciona uma coluna de versão pode auxiliar no desempenho de grandes atualizações de dados, apresentando uma significativa melhoria na aplicação, é o IsVersion=true, essa otimização é exclusiva para o LINQ to SQL do WP7 e usado internamente para identificar a versão da coluna modificada:

[Column (IsVersion = true)]
_VERSION Binary privado;

Igualmente importantes são os atributos de associações, que permitem realizar o relacionamento entre as tabelas, para mais informações acesse:

http://msdn.microsoft.com/en-us/library/system.data.linq.mapping.associationattribute(v=VS.95).aspx

Exemplo de Associação:

[Association(Storage = "_cliente", ThisKey = "_clienteId", OtherKey = "Id", IsForeignKey = true)]

Código da Classe Cliente:

? ? ?  [Table]
? ? ?  public class Cliente : INotifyPropertyChanged, INotifyPropertyChanging
? ? ?  
? 
? ? ? ? ? ? ?  #region INotifyPropertyChanged Members
? 
? ? ? ? ? ? ?  public event PropertyChangedEventHandler PropertyChanged;
? 
? ? ? ? ? ? ?  private void NotifyPropertyChanged(string propertyName)
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  if (PropertyChanged != null)
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ?  }
? 
? ? ? ? ? ? ?  #endregion
? 
? ? ? ? ? ? ?  #region INotifyPropertyChanging Members
? 
? ? ? ? ? ? ?  public event PropertyChangingEventHandler PropertyChanging;
? 
? ? ? ? ? ? ? 
? ? ? ? ? ? ?  private void NotifyPropertyChanging(string propertyName)
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  if (PropertyChanging != null)
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ?  }
? 
? ? ? ? ? ? ?  #endregion
? 
? 
? ? ? ? ? ? ?  [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)]
? ? ? ? ? ? ?  private string id;
? ? ? ? ? ? ?  public string Id
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  get
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  return id;
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  set
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  if (id != value)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  NotifyPropertyChanging("Id");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  id = value;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  NotifyPropertyChanged("Id");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  }
? 
? ? ? ? ? ? ?  }
? ? ? ? ? ? ? 
? ? ? ? ? ? ?  [Column()]
? ? ? ? ? ? ?  private string nome;
? ? ? ? ? ? ?  public string Nome
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  get
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ?  ? ? ? ? ? ? ? ? return nome;
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  set
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  if (nome != value)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  NotifyPropertyChanging("Nome");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  nome = value;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  NotifyPropertyChanged("Nome");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  }
? 
? ? ? ? ? ? ?  }
? ? ? ? ? ? ? 
? 
? ? ?  }

Em aplicações Silverlight é comum implementar a interface INotifyPropertyChanged para monitorar mudanças nas propriedades da classe , e tirar um melhor proveito do recursos de databinding da tecnologia, para auxiliar o LINQ to SQL, também vamos implementar a interface INotifyPropertyChanging, com ela é possível monitorar quando uma propriedade será modificada e com isso o DataContext é informado e pode identificar as mudanças e melhorar a performance da aplicação.

O Data Context é o local onde definimos o contexto dos dados que servirão para criar a base de dados local, o LINQ to SQL depende do mapeamento entre o modelo de objetos e o esquema da base de dados. Dependendo da complexidade do modelo, esse arquivo pode ser trabalhoso de ser criado manualmente, mas existem formas de utilizar alguma ferramenta para cria-lo, o SQL Metal é uma delas conforme comentado acima no artigo.

Crie uma classe chamada ClienteDataContext , ela vai herdar de DataContext, o DataContext contém diversas propriedades e métodos que auxiliam na manipulação de base de dados, como por exemplo, verificar se uma base de dados existe, criar e excluir uma base de dados, entre outros, mais adiante vamos utilizar o método CreateDatabase() para criar fisicamente a base de dados local no Windows Phone.

A próxima etapa é criar a string de conexão com a base de dados, utilizaremos a palavra chave “isostore” para informar que o arquivo ficará no Isolated Storage, após isso informaremos o nome da base de dados como Cliente.sdf. É na string de conexão que você pode inserir um senha de acesso a base de dados, informar uma cultura específica ou até mesmo criar uma base de dados somente leitura, para mais informações sobre string de conexões para o WP7 acesse http://msdn.microsoft.com/en-us/library/hh202861(v=vs.92).aspx

Por último vamos definir uma tabela Cliente de acesso público e única no DataContext através de public Table Cliente.

No App.xaml.cs da aplicação , localize o construtor da classe e no final adicione o código abaixo, neste momento vamos criar uma base de dados usando o DataContext criado anteriormente, o código verifica se existe uma base de dados e caso não exista ele já cria uma nova base de dados.

using (ClienteDataContext ctx = new ClienteDataContext(ClienteDataContext.DBConnectionString))

? ? ?  if (ctx.DatabaseExists() == false)
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ?  ctx.CreateDatabase();
? ? ? ? ? ? ?  
? 
}

Para finalizar o artigo vou criar uma tela simples em Silverlight, sem se preocupar com o layout, a tela tem um botão chamado “add” que vai adicionar um registro na base de dados e logo abaixo um ListBox chamado “lst”, que está ligado através de databinding a propriedade ItemSource com uma ObservableCollection chamada Items, na propriedade Text vamos mostrar o nome do cliente também ligando através de databinding.


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  ? Grid.Row="1" Margin="12,0,12,0">
? ? ? ? ? ? ? ? ? ? ?  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? 
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? 

No constructor do MainPage vamos criar uma instância do DataContext chamado clienteDB :

clienteDB = new ClienteDataContext(ClienteDataContext.DBConnectionString);

No evento ? Loaded da MainPage, realizamos um consulta LINQ to SQL e já adicionamos o resultado em uma ObservableCollections chamada Items, que está ligado ao ItemSource da ListBox, veja como é prático ligar as informações na tela, neste exemplo como o foco é o conceito de local database, o projeto foi criado todo no code-behind da MainPage, mas você poderia criar usando o ViewModel e ligando o ObservableCollection com a View.

var result = from Cliente r in clienteDB.Cliente
select r;
Items = new ObservableCollection(result);

Para mais informações sobre LINQ:

http://msdn.microsoft.com/en-us/library/bb397897.aspx

http://msdn.microsoft.com/en-us/library/bb386976.aspx

http://msdn.microsoft.com/en-us/library/bb386913.aspx

Vamos agora para o código do botão “add” que vai adicionar os registros na base de dados, através do InsertOnSubmit() adicionamos o objeto ao DataContext e através do SubmitChanges(), o objeto é registrado na base de dados, por último, inserimos o objeto na coleção para que seja apresentado na tela.

Cliente c = new Cliente();
c.Nome = txtNome.Text;
clienteDB.Cliente.InsertOnSubmit(c);
clienteDB.SubmitChanges();
Items.Add(c);

?

Código completo da MainPage:

? ?  public partial class MainPage : PhoneApplicationPage, INotifyPropertyChanged
? ? ?  
? ? ? ? ? ? ? ?  ClienteDataContext clienteDB;
? ? ? ? ? ? ? ?  #region INotifyPropertyChanged Members
? ? ? ? ? ? ? ?  public event PropertyChangedEventHandler PropertyChanged;
? ? ? ? ? ? ? ?  private void NotifyPropertyChanged(string propertyName)
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  if (PropertyChanged != null)
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ?  }
? ? ? ? ? ? ? ?  #endregion
? ? ? 
? ? ? ? ? ? ?  private ObservableCollection _items;
? ? ? ? ? ? ?  public ObservableCollection Items
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  get
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  return _items;
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  set
? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  if (_items != value)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  _items = value;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  NotifyPropertyChanged("Items");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  }
? ? ? ? ? ? ?  }
? ? ? ? ? ? ? 
? ? ? ? ? ? ?  // Constructor
? ? ? ? ? ? ?  public MainPage()
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  InitializeComponent();
? ? ? ? ? ? ? ? ? ? ?  clienteDB = new ClienteDataContext(ClienteDataContext.DBConnectionString);
? ? ? ? ? ? ? ? ? ? ?  this.DataContext = this;
? ? ? ? ? ? ? ? ? ? ?  Loaded += new RoutedEventHandler(MainPage_Loaded);
? ? ? ? ? ? ?  
? ? ? ? ? ? ?  void MainPage_Loaded(object sender, RoutedEventArgs e)
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  var result = from Cliente r in clienteDB.Cliente
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  select r;
? ? ? ? ? ? ? ? ? ? ?  Items = new ObservableCollection(result);
? ? ? ? ? ? ?  
? ? ? ? ? ? ?  private void add_Click(object sender, RoutedEventArgs e)
? ? ? ? ? ? ?  
? ? ? ? ? ? ? ? ? ? ?  Cliente c = new Cliente();
? ? ? ? ? ? ? ? ? ? ?  c.Nome = txtNome.Text;
? ? ? ? ? ? ? ? ? ? ?  clienteDB.Cliente.InsertOnSubmit(c);
? ? ? ? ? ? ? ? ? ? ?  clienteDB.SubmitChanges();
? ? ? ? ? ? ? ? ? ? ?  Items.Add(c);
? ? ? ? ? ? ?  
? ? ?  }

Links:

Boas Práticas:

http://msdn.microsoft.com/en-us/library/hh286406(v=vs.92).aspx

Mais informações sobre local database no Windows Phone :

http://msdn.microsoft.com/en-us/library/hh202860(v=vs.92).aspx

http://msdn.microsoft.com/en-us/library/hh202876(v=VS.92).aspx

Alterações do esquema da base de dados:

http://msdn.microsoft.com/en-us/library/hh394018(v=VS.92).aspx

Out 28

Html5 – Edição de conteúdo e Web Storage (Exemplo)

Escrito por DClick Team em 1, 2.0, 6, api, AR, blog, browser, C#, carregar, cliente, configuração, Cookie, Design, exemplo, Exemplos, Flex, for, Formação, html, html 5, html5, IE, if, int, novidade, Novidades, O, offline, on, Pessoal, RIA, Ria’s Geral, S+S, Sem categoria, Sun, TAT, Twitter, UI, uint, web @ 10 28th, 2011 | via http://blog.dclick.com.br/pt/ | 1 comentário
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

Como Html 5 é algo novo para mim e acredito que para muita gente que visita o blog, os meus exemplos irão se limitar a coisas simples, mostrando novidades básicas. No exemplo do post de hoje vou falar sobre duas novidades, a edição de conteúdo e o Web Storage.

Your browser does not support iframes.

Edição de conteúdo nada mais é do que colocar o Html da sua aplicação em modo de design, deixando que o usuário final possa editá-lo como um simples editor de texto, porém sem conhecer nada sobre Html. Essa funcionalidade parece ser algo inútil a primeira vista, porém ela pode se tornar poderosa se formos discutir sobre aplicações html5 offline.

Web Storage tem a função de persistir uma informação dentro de um escopo definido, com um espaço de armazenamento maior do que um cookie (bem maior), e que pudesse ser acessível em qualquer página a qualquer momento sem a necessidade de carregar essa informação de página por página. Essa API é dividida em 2 itens, sessionStorage e localStorage.

sessionStorage
Esse item da API serve para armazenar informação na sessão do cliente que está acessando sua aplicação. É interessante utilizar esse tipo de storage quando o usuário tem informações específicas para a sessão como por exemplo, você deseja abrir 2 janelas da sua aplicação e em uma janela fazer a configuração A e na segunda janela, fazer a configuração B sem que elas tenham interferência uma na outra. Esse tipo de storage também não é persistido, ou seja, quando a sessão fechar, todas as informações são perdidas

localStorage
Esse item da API serve para manter uma informação guardada por tempo indeterminado, ou seja, se o usuário fechar o browser e desligar a máquina e no dia seguinte acessar sua aplicação, ela poderá recuperar qualquer informação que tenha sido armazenada no storage. Para o pessoal que conhece Flex, essa função é idêntica ao SharedObject, pelo pouco que pude testar.

Utilização
A api é bem simples, todo armazenamento é baseado em CHAVE=VALOR e agora vou comentar sobre 3 métodos básicos para sua utilização:

1. setItem(key, value)
Utilizado para adicionar um item ao storage.
localStorage.setItem(‘nome’, ‘DClick’);

2. getItem(key)
Utilizado para recuperar o valor de uma key.
alert(localStorage.getItem(‘nome’)); //resultado ‘DClick’

3. removeItem(key)
Utilizado para deletar o registro referente a key.
localStorage.remoteItem(‘nome’);

Gostaria de ressaltar que os conceitos mostrados aqui são bem simples, apenas como algo introdutório ao assunto. Espero que estejam gostando!

Out 10

Adobe Max 2011: Open your mind

Escrito por DClick Team em 1, 2.0, 3d, Adobe, Adobe Max, Air, análise, Android, Aplicativos, app, apple, AR, arte, BI, browser, C#, cliente, código, código fonte, comunidade, conferência, css, dados, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Design, designer, Desktop, developer, DRE, Dreamweaver, err, Experiência do Usuário, facebook, Ferramenta, flash, Flex, fonte, for, Formação, Formulário, Formulários, futuro, game, Google, html, html 5, IE, int, jogo, JQuery, Microsoft, novidade, Novidades, O, on, padrão, Palestra, Pessoal, problema, progress, ps3, RIA, Ria’s Geral, S+S, SDK, Sugestões, tag, TAT, Tecnologia, Teste, tv, Twitter, UI, Vários, Ved, vs, XP, zend @ 10 10th, 2011 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

Esta foi a 7a edição da Adobe Max que pude acompanhar pessoalmente. Posso dizer com propriedade que está foi a Max que menos vi novidades, mas talvez foi a mais importante que tive a oportunidade de participar. Antigamente ficava colocando novidades técnicas. Agora pretendo fazer você pensar.

No ano passado estava muito forte a velha estória de Flash vs Html 5 e, de certa maneira, isso ainda persiste na mente de muitas pessoas. Ficou muito claro que para a Adobe isso não é um problema. Não podemos esquecer que na essência, a Adobe é uma empresa que desenvolve ferramentas para facilitar a vida de Designer, Arquitetos de Informação, Developers etc. A Adobe nunca foi contra o Html 5, inclusive ela sempre fez parte do W3C participando da definição dos padrões do Html 5. Vi progressos de ferramentas como o Adobe Edge e integrações do Dreamweaver com JQuery e PhoneGap muito interessantes. Alias a Adobe comprou a PhoneGap como vocês já sabem.

Mas e o flash? Confesso que no meio da conferência coloquei no twitter: “Acho que pela primeira vez o flash vai morrer”. Disse isso vendo as maravilhas que a Adobe estava mostrando com CSS e Html 5 e algumas sugestões que eles estavam fazendo para o W3C. Depois analisei com mais calma e acho que me precipitei. O flash tem um longo caminho pela frente, mas acho que ele vai ocupar espaços específicos. Vejo o flash usado em totens, aplicações com consumo grande dados, que abusem de processamento (flash agora usa GPU), aplicações internas específicas, games, 3D etc. Veja esta experiência: http://www.nissan-stagejuk3d.com/. Isso ainda vai ser flash por um bom tempo.

Na conferência vimos os melhores games rodando em Flash. Esse é um caminho sem volta e quem sabe no futuro você não precise mais de seu PS3 ou Xbox e faça isso na sua próxima TV com flash ou no seu próprio micro. Também vimos a Adobe muito bem posicionada para o desenvolvimento de apps para dispositivos móveis. Um código fonte para iOS e Android, só a Adobe consegue isso hoje. Até conseguimos fazer apps com html 5 e CSS, mas os apps desenvolvidos com as ferramentas da Adobe nos dão uma performance melhor. Além de tudo, desenvolvimento para desktop com AIR também é imbatível e agora com Native Extensions, o céu é o limite.

Ficou claro que aplicações tradicionais com formulários e transações serão em Html 5. Eu já fui em vários clientes e pergunta era sempre a mesma: “Funciona no iPad?”. Sabemos que o certo seria fazer um app específico e que os tablets e dispositivos móveis requerem iterações específicas. Mas nossos clientes e usuários querem acessar suas aplicação do seu browser de qualquer lugar e de qualquer dispositivo.

Então é isso? E a compatibilidade do browser? E a facilidade do SDK do Flex? E a carga de testes vai aumentar? A resposta é que esse é um caminho sem volta. E o melhor de tudo é que isso é uma grande oportunidade para todos. Vamos sim enfrentar o velho problema de compatibilidade de browsers, fabricantes e desenvolvedores de browsers querendo cada um “impor” o seu padrão. Mas quando grandes como Microsoft, Apple, Google, Facebook e Adobe dizem que este é o caminho, é melhor refletirmos sobre isso. Até grandes desenvolvedores da comunidade Flex falam sobre isso. Vi uma palestra do Grant Skinner sobre um jogo que ele fez em html 5 usando canvas.

Na DClick nós sempre falamos que a tecnologia é meio. O mais importante é a solução e a experiência do usuário. Se para o usuário não acessar sua aplicação de um tablet ou um celular é um problema, isso é um problema de experiência. Somos muito conhecidos pelo uso do Flex e Flash e temos muito orgulho disso, mas Html 5, JQuery, CSS etc, também são realidade para nós. Novamente, tecnologia é meio.

Para mim, não existe tecnologia “matadora” para tudo. Cada problema tem a melhor solução. Cada tecnologia tem seus prós e contras. Não perca o seu tempo “pixando” uma ou outra tecnologia. Veja o que cada uma pode trazer de benefício para você, seus aplicativos e seus clientes. Estude. E o mais importante, Seja feliz!

Out 5

Vaga para arquiteto/desenvolvedor Drupal

Escrito por Fabio da Silva em 1, 4, 6, AR, Arquitetura, BI, blog, Blogs, C#, cliente, Desenvolvedor, Google, IE, int, mg, O, on, Ria’s Geral, S+S, Tech, Tecnologia, Tema, UI, Ved, XP @ 10 5th, 2011 | via http://fabiophx.blogspot.com | Sem comentários
Fabio da Silva
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

A Integritas Tecnologia tem 1 vaga para arquiteto/desenvolvedor Drupal. Temos um projeto em andamento, com um cliente, e precisamos de um desenvolvedor experiente em Drupal (versões 6 e/ou 7), com bons conhecimentos de arquitetura para participar de discussões sobre alternativas de implementação de módulos de integração e temas com o cliente. É necessário bom inglês para conversação.

Por favor, enviem currículos para rh@integritas.com.br .

Out 3

Adobe MAX 2011 – Isso sim é experiência

Escrito por DClick Team em 1, 2.0, 4, Adobe, Adobe Max, Aplicativos, AR, blog, C#, class, cliente, Desenvolvimento, for, gc, html, html5, IE, if, image, int, Mercado, mg, novidade, Novidades, O, on, Ria’s Geral, S+S, TAT, Twitter, UI, Vídeo, XP @ 10 3rd, 2011 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

Mais uma vez a DClick está presente na Adobe MAX. Desta vez com 4 integrantes: Eduardo Horvath, Eduardo Malendéz, Rogério Martinelli e eu :)

Estou muito curioso este ano não para ver as novidades, mas para ver como a Adobe vai se posicionar no mercado. O marketing em cima do html5 foi muito forte e já percebemos isso em nossos clientes. Por outro lado, a Adobe é a única empresa que tem uma plataforma para desenvolvimento de aplicativos móveis para os OSs mais usados no mercado. Vamos ver.

Por hora, vejam o vídeo da “festa” que teve ontem. Eu gosto de música, mas nunca fui e nem sei como é o trabalho de um DJ, mas confesso que fiquei com vontade de ser ou apenas “brincar” um pouco.

Set 23

10 motivos para você investir em comércio eletrônico criando sua loja virtual

Escrito por Cognitiva Soluções em .NET, 1, 2.0, 4, 6, api, AR, arte, Banco de Dados, bar, BI, blog, Blogs, C#, cliente, control, dados, Dica, e-commerce, empresas, escritório, Flex, for, geo, Google, html, IE, image, int, internet, Mercado, mg, monitor, Monitoramento, NaN, novidade, Novidades, O, on, online, Outros, produto, relatório, Relatórios, RIA, Ria’s Geral, S+S, Segurança, serviço, Serviços, site, Tema, UI, web @ 09 23rd, 2011 | via http://blog.cognitivasolucoes.com | Sem comentários
Cognitiva Soluções
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Se você ainda está em dúvida se deve ou não abrir sua Loja Virtual, abaixo seguem dez ótimos motivos para convencê-lo(a) de que está no caminho certo.

Conheça CogStores: E-commerce / Lojas Virtuais aqui.


1. Funcionamento 24 horas – Com um endereço na web, a sua empresa pode montar uma loja virtual e vender a qualquer hora. O horário comercial da sua empresa passa ser 24×7 (7 dias por semana e 24 horas por dia). A loja na rede abre canal de comercialização com 50 milhões de internautas somente no Brasil. Os números do e-commerce no Brasil são impressionantes.

2. Vendas sem fronteiras – Com uma loja virtual, a empresa vence as barreiras geográficas e mostra seus produtos e serviços para o mundo. Assim, será possível vender aonde as equipes de vendas não chegam e onde as lojas físicas não atendem. Há varejistas do Sudeste que vendem mais para o Nordeste, por meio da internet, do que em para seus próprios estados.

3. Comodidade do consumidor – Com a sua loja na internet, a empresa oferece total comodidade para o consumidor. Ele poderá fazer compras de qualquer parte do mundo. Seja no conforto do escritório, na tranqüilidade em casa ou onde haja um aparelho conectado ? internet. Poderá também conhecer todos os seus produtos a distância e ir a sua loja apenas para concluir o negócio (Hoje 70% dos consumidores plugados na internet fazem isso).

4. Acompanhamento das vendas – Pela internet, a empresa ganha mais flexibilidade para agir, pois terá acesso instantâneo aos relatórios de vendas, controle de estoques múltiplos dos fornecedores, visitas ao site, faturamento e outros indicadores das vendas. Esses dados são fundamentais para a tomada de decisões urgentes. Basta você escolher um bom sistema de lojas virtuais como o CogStores.

5. Múltiplos estoques – A dinâmica das vendas pela web permite que as empresas invistam em produtos com grande aceitação no mercado. O E-commerce permite que se trabalhe com múltiplos estoques, inclusive com estoques dos próprios fornecedores. Assim, a empresa ganha agilidade, diminui despesas operacionais e necessita de menor capital de giro.

6. Flexibilidade promocional – É mais simples e rápido organizar promoções na loja online. De forma imediata, é possível obter dados sobre os resultados alcançados e avaliar a resposta dos consumidores. A divulgação de uma loja virtual é bem mais simples e barata que a de uma loja física.

7. Igualdade de competição – Na rede mundial de computadores, as empresas disputam o mercado nas mesmas condições. Na web, é mais rara a premissa de que quem é o maior tem que ser o melhor. O tamanho da empresa não tem importância. O fundamental é ter uma relação transparente e profissional com o consumidor, garantindo a entrega do produto e a segurança da operação.

8. O custo de uma loja virtual – É imensamente menor o custo de criação e manutenção de um espaço na internet do que uma loja física. Não dá nem para comparar em razão da ausência de despesas com estoques, empregados, segurança, instalações, etc.

9. Monitoramento do consumidor – Por meio do Comércio Eletrônico, pode-se fazer um cadastro de cada cliente online e saber exatamente quem é ele. Suas informações serão colocadas em um banco de dados e a qualquer momento ele poderá ser informado das promoções e novidades de produtos. Conhecendo o cliente, a empresa fica sabendo o que ele gosta de comprar, é possível prever a demanda, direcionar promoções, reposicionar produtos,entre outras ações. Sua empresa pode oferecer uma melhor qualidade no suporte de pré e pós-venda.

10. Avanço das vendas online – Nos últimos cinco anos, o E-commerce cresceu em média 52% por ano. O mundo converge para a Internet, e nesse sentido caminha o consumidor. Uma verdade surge: quem não estiver na rede, será atropelado pela concorrência.

Conheça CogStores: E-commerce / Lojas Virtuais aqui.
Link: http://www.blogdoecommerce.com.br/porque_criar_loja_virtual/

« Entradas anteriores | Entradas recentes »

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com