terça-feira, 2 de maio de 2017

O que é Xamarin?


Olá pessoal, sou Felipe Muniz e hoje vamos falar sobre o que é a Xamarin.

A Xamarin foi fundada em 2011 por Miguel de Icaza, nada mais nada menos que o criador do Gnome e do Mono, que é também um dos diretores do .NET Foundation.

Para desenvolver em Xamarin inicialmente tínhamos que comprar licenças de desenvolvimento, mas em fevereiro de 2016 a Microsoft anunciou a compra da empresa, tornando o uso da plataforma gratuita e open-source.

Atualmente existem mais de 3 bilhões de smartphones no mundo, e cada dia que passa milhões de novos smartphones são despejados no mercado.  Desenvolver para dispositivos moveis têm se tornado um grande desafio devido a grande diversidade de dispositivos, sistemas operacionais e suas versões. Com isso temos linguagens e ambientes de desenvolvimento muito diferentes.

Na imagem abaixo podemos observar o problema do desenvolvimento para dispositivos moveis.


Desenvolver um APP que alcance todo o público é um problema a ser vencido, precisamos que ele funcione em IOS, Android e Windows Phone que são os SOs mais rodados em smartphones no mundo. Mas para resolver isso é preciso programar em Java, Swift e C#, então o problema se agrava pois precisamos de uma equipe de desenvolvedores experiente para cada uma das linguagens, ou seja o mesmo código vai ser repetido em varias linguagens.

É ai que entra o nosso delicioso Xamarin, com ele conseguimos o reaproveitamento de código entre Windows Universal Plataform (Todo dispositivo que roda windows 10, incluindo Xbox e Raspberry), Windows Phone, Android (Todo dispositivo que roda Android, Incluindo Tv's e SmartWatchs) e também com o IOS e Apple Watch. E já está em desenvolvimento a nova versão que vai dar suporte também a o sistema da Tizen da Samsung. O Xamarin foi feito para você desenvolver utilizando a linguagem C# e todas as vantagens do .NET Framework.



Na imagem acima podemos ver que a utilização do Xamarin nos proporciona algumas vantagens:
  • Custo menor
  • Menor tempo de desenvolvimento
  • Rápida curva de aprendizagem
  • Maior produtividade
Com o Xamarin podemos criar aplicativos nativos nas principais plataformas do mercado, utilizando uma IDE(Visual studio e no Mac) e apenas uma linguagem que é o C#.


Vídeos






quarta-feira, 26 de abril de 2017

Montando ambiente de desenvolvimento do Xamarin

Olá pessoal o/, hoje estarei ensinando vocês a como montar o nosso ambiente de desenvolvimento do Xamarin e XF(Xamarin Forms).

Antes de tudo precisamos instalar o nosso foderoso Visual Studio community 2017.

Para o Xamarin poder ser instalado vocês precisam marcar a opção de desenvolvimento móvel com .NET na tela de instalação, e se quiser instalar o SDK do android ou emuladores do windows você pode marcar ali as opções na parte opcional no canto a direita, após isso é só clicar em instalar e aguardar.



Após a instalação vamos abrir o visual studio e verificar algumas coisas, clique em ferramentas e em seguida em opções.



Procure por Xamarin, deve estar pertinho do fim da lista, e em seguida clique em configurações do Android.



Precisamos ter certeza que nessas pastas do SDK e JDK são as que realmente estão instaladas no nosso computador, no meu caso não era, eu já tinha feito uma instalação do Android Studio e minha pasta do SDK coloquei no disco local D, então vocês precisam verificar e alterar o caminho se for preciso, e se não tiverem nenhum SDK instalado e o Visual studio não tiver instalado pra vocês, então vocês vão precisar baixar no site do Android e realizar a instalação.

E se estiverem com um dispositivo mac na rede, vocês conseguem utilizar ele para dar deploy e builds no projeto IOS, basta configurar ele clicando em configuração do IOS.

Agora vamos criar um novo projeto para verificar se nosso ambiente está realmente funcionando, clique em arquivo, novo e projeto ou simplesmente utilize o atalho dr criação de novo projeto ctrl + shift + n.



Vamos escolher tipo de projeto cross platform e selecionar o aplicativo multi plataforma (Xamarin.Forms ou Nativo).



Vamos escolher o aplicativo em branco, e marcar as opções de Xamarin.Forms e Biblioteca de Classes Portátil (PCL).



Se estiverem utilizando o Windows 10 como eu, o visual studio vai perguntar qual vai ser a versão minima e máxima do SDK do windows para o projeto UWP(Universal Windows Platform).



Logo em seguida vai ser pedido para você ativar o modo de desenvolvedor do windows, para poder dar deploy e debug do projeto UWP no seu próprio projeto windows.



O visual studio vai gerar um projeto para cada plataforma e um projeto do tipo PCL (Portable class Library) onde iremos desenvolver praticamente quase todo o nosso código quando utilizamos o XF (Xamarin Forms).



Bom, agora podemos executar nosso projeto, basta setar o projeto Android com o startup e se estiver com algum emulador criado selecionar ele, ou então algum aparelho conectado a alguma entrada usb do seu computador.



Executei o projeto Android e o UWP e o resultado foi esse abaixo.


Bom pessoal, espero que esse post ajude alguém que está com dificuldades de montar o ambiente, e em breve estarei postando muito conteúdo legal sobre o nosso amado Xamarin, até mais o/

quarta-feira, 5 de abril de 2017

Olá Mundo!

Olá, pessoal! Meu nome é Felipe Muniz, estou com exatamente 21 anos (meu aniversário hoje! \o/), comecei a me interessar por programação quando tinha 12 anos de idade, estava no ensino fundamental e, comecei sendo autodidata lendo artigos e assistindo aulas pelo youtube. Dei início desenvolvendo páginas web estáticas com HTML e CSS, o javascript eu achava complicado já que era lá que a gente realmente programava usando a lógica e tal, passei dois anos só nisso de HTML e CSS e desenvolvi vários sites na época. Quando estava no ensino médio me interessei em criar jogos, porque o bendito servidor de PokeTibia que eu jogava chamado SvKe foi fechado e eu era meio que viciado nele, comecei a pesquisar em fóruns e fui começando a criar meus próprios servidores de PokeTibia, foi aí que realmente comecei a programar. Busquei aprender a lógica de programação com a linguagem C e Lua, já que os servidores de Tibia são desenvolvidos em C++ e Lua, tive uma grande ajuda de uma amiga que mora em SC chamada Baghia Klebowski, ela estava se formando em CC e foi tirando minhas dúvidas sobre a lógica com C.
Depois que aprendi a programar, quis criar programas com interfaces gráficas e, como tinha que aprender C++ para criar os servidores, comecei a desenvolver meus primeiros programas no QTCreator. Como não sabia o que era orientação e objetos eu tive muitas dificuldades mas fui levando, chegou um ponto que quase desisti do C++ porque estava complicado aprender a bendita OO, minha amiga até falou para eu aprender com java mas acabei voltando para área em que eu achava que era o bichão porque dominava bem o HTML e CSS, tive apenas que aprender as modificações que o HTML5 e CSS3 trouxeram. Como já sabia programar,mas ainda criava sites com páginas estáticas, fui aprender a linguagem PHP para poder criar sites com conteúdo dinâmico, então, fui me aprofundando no PHP e em MySQL, criando vários sites e, acabei voltando para os servidores de PokeTibia, dessa vez criando os sites dos servidores. Fiz vários Freelancers nesse período (e ainda faço até hoje o/), o tempo foi passando e eu cada vez mais buscava melhorar no PHP, então cheguei onde eu parei no c++, a bendita orientação a objetos, foi no PHP que aprendi a programar orientado a objetos (dai várias portas se abriram na minha mente kkkk), programar orientado a objetos é outro nível. Nesse tempo eu estava terminando o ensino médio, tinha me alistado no exército e, fui servir, mas só passei 4 meses lá, pensei que seria aquela grande aventura que passa nos comerciais, mas não foi nada parecido. Voltei com tudo para o PHP que agora estava na versão 7, como eu estava desempregado e queria muito trabalhar na área eu entrei no curso de Análise e Desenvolvimento de Sistemas (Isso em 2015), porque querendo ou não, um diploma sempre ajuda a dar o pontapé inicial na sua vida profissional e, eu poderia aprender coisas novas e tirar todas as dúvidas que tinha com os professores. Tive a chance e participei de um Hackathon, em uma empresa Multinacional que têm aqui chamada Stefanini, lá nós tínhamos que nos separar em grupos e desenvolver um aplicativo de cadastro de tarefas igual a um que eles mostraram por prints, então eu passei nessa segunda fase do Hackathon (a primeira foi uma prova escrita) e consegui participar de um curso de Android nessa empresa, foi lá que comecei aprender Java e Android, não foi muito difícil, pois, eu já tinha toda a noção de OO do PHP, e como o java e todo orientado a objetos então não foi um impacto muito grande, foi aí que eu me apaixonei pelo desenvolvimento de aplicativos. Em 2016, estava no terceiro semestre do curso de ADS, consegui um estágio em uma empresa local chamada ASS Tecnologia (kkkk o nome é esse mesmo) onde tive um aprendizado monstruoso, tive a chance de trabalhar com diversas linguagens e tecnologias e com profissionais muito qualificados, me dando suporte e tirando todas as dúvidas que surgiam. Foi aí que eu conheci a delícia do C#, trabalhei lá com várias tecnologias, Delphi, VB, HTML5, CSS3, Javascript, JQuery, Node, ASP.NET, MSSQL, MySQL, C#, Java, Android, Windows Phone, além de diversos frameworks e padrões de projeto, comecei a utilizar o Xamarin lá também, maior parte dos sistemas da empresa eram grandes ERPs então o trabalho era muito, pois minha equipe era pequena, mas, o aprendizado foi monstro do mesmo tamanho do trabalho, agradecimento especial a Arthur Tavares Bezerra que foi meu mentor no mundo .NET, grande gerente e desenvolvedor na ASS Tecnologia. Esse ano comecei a trabalhar em projetos na Virtus UFCG, que têm clientes bem grandes como: Sony, LG, Asus, DL, e projetos bem interessantes e inovadores. Estou no último semestre da graduação em Análise e Desenvolvimento de Sistemas na Faculdade Maurício de Nassau, comecei uma especialização em Desenvolvimento para dispositivos móveis esse semestre na Facisa e, venho focando todo o meu tempo livre estudando e aprendizado das tecnologias .NET, principalmente no Xamarin. Espero que, por meio deste blog, consiga passar para vocês o conhecimento que tenho, que estou aprendendo, que ainda irei aprender e, espalhar a semente desta maravilha que se chama .NET pelo mundo, então até o próximo post pessoal. o/