Descobrindo o PrimeFaces escondido no NetBeans

 

Olá pessoal,
    Pra quem já me conhece, sabe o quanto sou fã boy da IDE  Eclipse, desde meu tempo de faculdade sempre curti essa ferramenta e foi nela que durante meus poucos anos em Java, experimentei alguns frameworks pra Web como, por exemplo: WebWork, Tapestri, JSF e Struts. Lembrando que este último foi o que de fato eu realmente usei extensivamente em projetos que trabalhei, afinal, nem toda empresa é obrigada a estar na última moda tecnologica.
    Parece piada mas sempre que eu abria a IDE NetBeans, sentia ela meio, como posso dizer…. “diferente”, mas nem por isso deixei de acreditar que ela era uma das melhores, coisa de costume mesmo.
     Recentemente estava em sala de aula usando o NetBeans e ensinando algumas coisas básicas em JSF e foi quando eu descobri a integração do mesmo com uma implementação JSF chamada PrimeFaces, mas pera ai ! PrimeFaces ? Até então não tinha ouvido falar nessa implementação, só na já consagrada RichFaces, que até aquele instante, foi a que mais ouvi e vi a galera comentando pela internet e botequins de Java. (Sim, Existe Botequim Geek 🙂 ).
     Pesquisando aqui e pesquisando ali, fiquei maravilhado com a quantidade de componentes adicionais que ela implementa, realmente de deixar qualquer um balançado.
        Pra começar, basta dar uma olhada no showcase, que já possui uma lista enorme de temas e componentes. Recomendo uma olhada na integração com o Google Maps e exibição de midias.
        E, é claro, seguindo a onda mobile, não podia deixar de ter uma forma de exibir todos esses componentes nesses pequenos dispositivos, em especial o IPhone
        A ideia deste Post não era a de apresentar nada prático, só de compartilhar essa descoberta mesmo,  espero que vcs tenham gostado.

Site Oficial

http://primefaces.org/

User Guide

http://primefaces.googlecode.com/files/primefaces_users_guide_3_0.pdfhttp://primefaces.googlecode.com/files/primefaces_users_guide_3_0.pdf

Um grande Abrc.
Natanael Fonseca

Calculando fatorial em Android ( Hello World )

Olá pessoal,

   Acho que alguns alunos e amigos mais próximos tinham ouvido e com certeza percebido a minha empolgação com desenvolvimento mobile e, principalmente a plataforma Android, pois bem, diante de tamanha onda de Tablets e SmartPhones que o mercado tem nos proporcionado, bem que tava na hora de mostrar algo mais divertido aqui no blog ;-).
    Aproveitei o tempinho livre e resolvi fazer um “Hello World” em Android, na verdade não é bemmmmm um Hello World clássico, é uma aplicação que calcula o fatorial de um numero inteiro positivo usando recursividade e o exibe em um toast.
     Essa aplicação foi construída usando a plataforma 3.1, conhecida como HoneyComb. Primeiramente usei um LinearLayout para dispor os diversos componentes(ImageView, TextView, EditText e etc.) de forma vertifcal, depois adicionei um evento do tipo “OnClick” que aciona automaticamente o método calcularFatorial dentro da Activity e por ultimo chamo o método showToastMessage que cria um objeto Toast e o exibe por alguns instantes na tela, criando um efeito bem interessante.
Código do Layout


<linearlayout
    android:layout_width=”fill_parent”
    android:layout_height=”fill_parent”
    android:gravity=”center_horizontal”
    android:orientation=”vertical” android:background=”#FFFFFF” >


    <imageview</imageview
        android:id=”@+id/imageView2″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:layout_gravity=”left”
        android:src=”@drawable/androidleaning” />


    <textview</textview
        android:id=”@+id/textView1″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”Fatorial”
        android:textSize=”15pt”
        android:textAppearance=”?android:attr/textAppearanceLarge” />


    <textview</textview
        android:id=”@+id/textView2″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”@string/app.introduction” />


    <textview</textview
        android:id=”@+id/textView3″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”@string/app.definicao” />


    <imageview</imageview
        android:id=”@+id/imageView1″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:src=”@drawable/fatorial” />


    <textview</textview
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:layout_gravity=”left”
        android:text=”@string/form.titulo”
        android:textSize=”8pt” />


    <edittext</edittext
        android:id=”@+id/etValor”
        android:layout_width=”match_parent”
        android:layout_height=”wrap_content”
        android:inputType=”number” >


       
   


    <button</button
        android:id=”@+id/btCalcular”
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”@string/button.label” android:onClick=”calcularFatorial” />


Código da Activity


package com.blogspot.thecodingoflife.android;


import java.math.BigInteger;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;


/**
 * 
 * Activity que calcula um determinado fatorial…
 * 
 * @author Natanael Fonseca
 *
 */
public class FirstAppActivity extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.main);
        
    }
    


    public void calcularFatorial(View view){
   
    EditText edText = (EditText) this.findViewById( R.id.etValor );
   
    long n = Integer.parseInt( edText.getText().toString() );
   
    showToastMessage(“O Fatorial deste número é : ” + fatorial( BigInteger.valueOf(  n  ) )  );
   
    }
    
    private BigInteger fatorial(BigInteger n ){
   
    if( n.compareTo( BigInteger.ONE ) <= 0 ){
    return BigInteger.ONE;
    }else{
    return n.multiply( fatorial( n.subtract( BigInteger.ONE )  ));
    }
   
    }
    
    
    //Exibe um ToastMessage por um curto periodo de tempo
    private void showToastMessage(String msg){


        Toast toast = Toast.makeText(this, msg, Toast.LENGTH_LONG );
        toast.show();


    }
    
}

Resultado Final

App Roando no Galaxy Tab 10.1


Download do Projeto

Baixe aqui o projeto ! Para rodar, basta importar no eclipse e, lembrando é claro que você precisará ter o ADT como plugin.

Abrcs.
Natanael Fonseca

Muitos estudos em 2012

Olá pessoal,
   O ano de 2012 começou e vale a pena uma reflexão sobre o mundo Java, afinal, o que se pode esperar nesse ano envolvendo esta plataforma ? Pois bem, com a JVM sendo um padrão em grandes empresas no mundo todo, há de se esperar muita novidade para atender as diversas tendencias de mercado. Um fator interessantissimo que se pôde observar no ano de 2011, foi a popularização de linguagens de programação como Scala e JRuby, e até mesmo Clojure que são construídos em cima da VM,  estas oferecem recursos de programação novos e únicos e que são adequados para diferentes tipos de sistemas. 
   Um exemplo claro dessa corrente é implicitamente observado na rapidez em alguns serviços do  Twitter que são escritos em Scala ou ainda no uso de JRuby feito pelo LinkedIn e, não esquecendo ainda que o famoso site de viagens kayak tem serviços de backend escrito em Clojure. Em 2012, esta próxima geração de linguagens trarão soluções para uma gama enorme de sistemas, tudo sem a necessidade de batalha com outras soluções corporativas sobre como as aplicações escritas nelas serão implantadas. Então,  bons estudos para este Ano Novo !

   http://www.scala-lang.org/
 
   http://jruby.org/

   http://clojure.org/

Abrcs.
Natanael Fonseca