Você está na página 1de 10

653

e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.

GEORGE MENDES MARRA
APLICAES PHP
COMPILADAS
UTILIZANDO
O ROADSEND
STUDIO FOR PHP
Resumo: este artigo um estudo descritivo do desenvol-
vimento de uma aplicao desktop com a tecnologia PHP
compilado no Ms-Windows XP Professional. E tem como
objetivo descrever algumas caractersticas do compilador
Roadsend PHP. O PHP compilado surge como uma alternativa
de substituio ao PHP interpretado porque o compilador
Roadsend o nico que compila cdigo fonte PHP para
linguagem de mquina
Palavras-chave: PHP compilado, PHP interpretado,
Roadsend
A
tualmente existem diversas tecnologias, tais como:
PHP, ASP, .NET, Perl, C, C++, Java, e outras que
podem ser utilizadas para aplicaes desktop e tam-
bm na Internet. Nesse sentido, com relao a segurana das
aplicaes, como se comportam as tecnologias citadas nos
paradigmas interpretado e compilado e suas aplicaes?
PROGRAMAS INTERPRETADOS X PROGRAMAS
COMPILADOS
Interpretador um tradutor de uma linguagem de
programao de alto nvel, que converte as suas instrues
654
e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.
para a linguagem de mquina mas no cria uma verso executvel
dos programas, os interpretadores traduzem e executam os pro-
gramas ao mesmo tempo. Documentos HTML so interpretados
diretamente pelos navegadores web (Mozilla Firefox, Ms-Internet
Explorer, Opera, por exemplo) do usurio.
Um compilador um programa de computador que traduz
as instrues escritas em uma linguagem de programao legvel
como Pascal, em um programa executvel que o computador
consegue entender e processar diretamente. A execuo de pro-
gramas compilados signifcativamente mais rpida que a dos
interpretados porque todo o programa j foi traduzido para a
linguagem de mquina e no precisa dividir o espao da memria
com o interpretador.
O QUE SOFTWARE LIVRE?
Segundo a Free Software Foundation (http://www.fsf.
org), um software considerado livre quando atendem os
requisitos abaixo:
A liberdade para executar o programa, para qualquer propsito
(liberdade n 0);
A liberdade de estudar como o programa funciona, e adapt-lo
para as suas necessidades (liberdade n 1). Acesso ao cdigo-
fonte um pr-requisito para esta liberdade;
A liberdade de redistribuir cpias de modo que voc possa
ajudar ao seu prximo (liberdade n 2);
A liberdade de aperfeioar o programa, e liberar os seus aper-
feioamentos, de modo que toda a comunidade se benefcie
(liberdade n 3). Acesso ao cdigo-fonte um pr-requisito
para esta liberdade;
HISTRICO DO PHP
A tecnologia PHP foi criada por Rasmus Lerdorf em
1994. Inicialmente, PHP signifcava Personal Home Page Tools
(tambm conhecido como PHP Construction Kit). Atualmente
PHP signifca Hypertext Preprocessor. O PHP uma tecnologia
de criao de scripts do lado servidor que pode ser incorporada
em HTML ou utilizada como um arquivo binrio independente.
655
e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.
O PHP um software livre que fornece aos usurios e desen-
volvedores acesso ao cdigo fonte do software e ainda possuem
direitos de redistribuio. Veja na tabela 1.
Tabela 1: Linha do tempo da tecnologia PHP
Verses do PHP Ano
PHP/FI 1995
PHP 2.0 1997
PHP 3.0 1998
PHP 4.0 2000
PHP 5.0 2004
Fonte: (Guia Profssional PHP, p.6)

A tecnologia PHP est disponvel para as seguintes platafor-
mas: Ms-Windows, GNU/Linux, FreeBSD, OpenBSD, NetBSD,
Apple Mac OS, IBM OS/2, IBM AS/400, Novell Netware, RISC
OS, IBM-AIX, HP-UX, IRIX e Sun Solaris.
Em maro de 2001, o PHP-GTK foi criado por Andrei
Zmievski e funciona como uma ligao entre a tecnologia PHP
e a biblioteca grfca GTK. O PHP-GTK uma extenso da tec-
nologia PHP que permite criar aplicaes client-side ou do lado
cliente com GUI (Graphical User Interface).
FRAMEWORKS com suporte ao PHP
Segundo (FAYAD; SCHMIDT, 1997), framework ou
arcabouo de trabalho um conjunto de classes que colaboram
para realizar uma responsabilidade para um domnio de um sub-
sistema da aplicao. Existem vrios frameworks que suportam
a tecnologia PHP como por exemplo: Cake PHP, Code Igniter,
Zend, Prado.
Neste artigo, destacamos apenas o compilador Road-
send Studio for PHP por ser uma tecnologia promissora para
desenvolvedores de aplicaes tanto desktop quanto para
Internet.
656
e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.
Figura 1 Tela inicial do ROADSEND STUDIO for PHP 2.9.0-beta
Fonte: ROADSEND STUDIO for PHP 2.9.0-beta
Roadsend Studio for PHP um compilador PHP desenvol-
vido pela Roadsend Inc. desde 2002. O site ofcial do projeto Roa-
dsend PHP : http://www.roadsend.com. Roadsend um software
livre e est disponvel nas seguintes plataformas: Ms-Windows,
GNU/Linux, Unix. Roadsend PHP suporta compilao nativa
nas arquiteturas 32 bit x86 e 64 bit amd64. Roadsend suporta
as seguintes plataformas: GNU/Linux, FreeBSD, MS-Windows
XP/NT/2000/Vista, Apple Mac OS X. A verso para a plataforma
Ms-Windows possui o Roadsend Studio IDE.
Tabela 2: Pr-requisitos para se Utilizar o Roadsend
Para compilar na plataforma UNIX - Ambiente de desenvolvimento requer
Nome da Biblioteca Verso
GNU LIBC (GLIBC) >= 2.6.x
GNU C Compiler (gcc) >= 3.4.x
GNU LD linker (ld)
continua...
657
e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.
GNU C/C++ Bibliotecas de desenvolvim-
ento e cabealhos
Para a plataforma MS-Windows j existe um completo ambiente de desen-
volvimento em C e nenhum software adicional necessrio.
Bibliotecas opcionais
Nome da biblioteca Verso
MySQL 5.0.x
PCRE >= 4.1
libxml2 >= 2.6.3
curl >= 7.15.x
SQLite >= 3.4.x
unixODBC >= 2.2.x
Aplicaes web
Se voc deseja usar o interpretador web do Roadsend PHP ou compilar aplicaes web
para seu servidor web, voc precisar do FastCGI.
Fonte: <http://www.roadsend.com/p/manual/viewManual.php?pageID=devZon
e&doc=index.html&prIDX=2&doc=Requirements.html#Requirements>
Dentre as principais caractersticas do Roadsend podemos destacar:
Desenvolvimento de aplicaes stand alone utilizando cdi-
go PHP nativo: Roadsend compila seu projeto PHP como um
binrio nativo e no requer interpretador. possvel tambm
construir aplicaes web online com FastCGI, aplicaes web
offine com um servidor web embutido (MicroServer), aplica-
es desktop com PHP-GTK.
Roadsend Studio IDE: Roadsend Studio ajuda voc a gerenciar,
construir, depurar e implantar seus projetos com o PHP Roadsend
Compiler. Roadsend automaticamente implanta um projeto para
um diretrio (incluindo bibliotecas de apoio). Examina o seu
cdigo enquanto voc digita, tem o reconhecimento de erro de
sintaxe e um sistema de auto ajuda. Marcador de sintaxe luminoso,
editor de arquivo fonte, depurador passo-a-passo, compilao e
interpretao de projetos (incluindo aplicaes GUI).
Aplicaes web compiladas: possvel criar aplicaes web com-
piladas para uso tanto online como offine. Aplicaes web online
usam a interface padro FastCGI que obedece ao padro dos ser-
vidores web como Apache e Microsoft IIS. Aplicaes web offine
usam o servidor web MicroServer embutido na prpria aplicao e
permite executar a aplicao web como um programa autnomo.
continua...
658
e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.
Criar aplicaes compiladas para desktop
Debugger: depurador linha por linha com marcao por cores.
possvel confgurar os breakpoints por arquivo fonte ou por
nmero de linha. Pause um programa em execuo, inspecione
variveis locais e tambm call stack.
COMO CRIAR A PRIMEIRA APLICAO PHP COMPILADA
NO ROADSEND?
Inicialmente clique no boto Iniciar de seu Ms-Windows,
escolha a opo Programas, clique na opo Roadsend e em
seguida, Roadsend IDE.
A sequncia dos menus a seguinte: Iniciar->Programas-
>Roadsend->Roadsend IDE
No Roasend, clique na opo File->New (ou Ctrl + N) para
criar um novo arquivo que na fgura 2 representado como rea
2. Por padro o nome do arquivo Untitled1.
Na fgura 2. Na rea delimitada como 1, onde fcaro
os projetos e seus programas PHP vinculados. Na rea delimitada
como 2, onde o usurio ir digitar seus programas em PHP,
HTML, PHP-GTK. Na rea delimitada como 3, o resultado
do programa feito na rea 2.
Figura 2: Componentes do Roadsend
Fonte: ROADSEND STUDIO for PHP 2.9.0-beta
659
e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.
Crie um projeto atravs do menu: Project New. Veja a
fgura 3.
Para se chegar na opo Project Properties - Propriedades
do Projeto da fgura 3, clique no menu: Projects Properties.
Observe a fgura 3 e veja a descrio dos campos.
No campo Project Name, coloque o nome do seu pro-
jeto. O valor padro deste campo new_project1 e que pode
ser mudado de acordo com a fnalidade da aplicao do usurio.
No campo Project Directory o local onde os arquivos de seu
projeto sero armazenados. No campo Project File o projeto
em si e o arquivo possui extenso .redb. Na opo Project Type
o usurio pode escolher o tipo de projeto que deseja: Console
Application, Desktop GUI Application (PHP-GTK), Library,
Compiled Web Application (FastCGI), Stand Alone Web Applica-
tion (MicroServer).Figura 3 Aba Compiler Options do menu
Project Properties.
Figura 3: Project Properties - Propriedades do Projeto
Fonte: Roadsend Studio for PHP
660
e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.
Figura 4: Tela informando que o diretrio deste projeto no existe. Voc quer
cri-lo?
Fonte: Roadsend Studio for PHP
Na fgura 3, quando o usurio terminar de preencher o
campo Project Name, escolher o tipo de projeto (Project Type)
e pressionar o boto OK, a figura 4 ir aparecer. Clique
no boto Yes para confrmar a criao do diretrio do projeto
no diretrio c:\roadsend\projects.
Figura 5: Roadsend Compiler Studio teste1
Fonte: Roadsend Studio for PHP Projeto teste1 Nome do arquivo:
phpinfo.php
661
e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.
Na fgura 5, na parte superior onde existe uma elipse
amarela destacando um boto (seta branca dentro de um crculo
verde) que compila o programa PHP que foi digitado na tela
abaixo do boto de compilao. Na parte inferior do Roadsend,
a aba Build est marcada com outra elipse amarela e mostra a
linha C:\roadsend\projects\teste1\teste1.exe indicando que foi
gerado um arquivo executvel do programa PHP no diretrio:
C:\roadsend\projects\teste1
Figura 6: Prompt de comando com o programa teste1.exe executado
Fonte: Prompt de comando do Ms-Windows XP Professional SP3
Na fgura 6, o usurio deve acessar o diretrio: c:\road-
send\projects que o local das aplicaes do usurio. No nosso
exemplo, o nome do projeto teste1, da o nome do diretrio
se chamar teste1. O arquivo executvel se chama teste1.exe.
Para execut-lo basta digitar o nome do arquivo executvel tes-
te1. O resultado est sendo mostrado na fgura 6.
CONCLUSO
Neste artigo foi demonstrado como a tecnologia PHP pode
ser til na criao de aplicaes desktop compiladas. A maioria
das aplicaes PHP na Internet so interpretadas e a segurana
questionvel. O PHP compilado consegue atender tanto a Internet
quanto o desktop e ainda oferece um grau de segurana maior do
que em aplicaes interpretadas. O usurio tem a disposio uma
662
e
s
t
u
d
o
s
,

G
o
i

n
i
a
,

v
.

3
6
,

n
.

5
/
6
,

p
.

6
5
3
-
6
6
2
,

m
a
i
o
/
j
u
n
.

2
0
0
9
.
tecnologia que pode ser usada tanto online quanto offine. O PHP
compilado uma opo vivel e oferece um maior desempenho
tanto no quesito segurana quanto na performance. Utilizando o
compilador Roadsend que um software livre de excelente qua-
lidade sua experincia ser completa.
Referncias
CONVERSE, T; PARK, J. PHP a Bblia. Rio de Janeiro: Elsevier,
2003
DALLOGLIO, P. PHP-GTK Criando aplicaes grfcas com PHP. So
Paulo: Novatec Editora Ltda, 2007.
DEITEL, H; DEITEL, P; NIETO, T. Internet & World Wide Web Como
programar. So Paulo: Prentice-Hall, 2002
FRIEDMAN, D; WAND, M; HAYNES, C. Fundamentos de linguagem
de programao. So Paulo: Editora Berkeley, 2001.
JOBSTRAIBIZER, F. Guia Profssional PHP. So Paulo: Digerati Books,
2009.
PFAFFENBERGER, B. Que: dicionrio dos usurios de microcompu-
tadores: portugus-ingls e ingls-portugus. Rio de Janeiro: Campus,
1992.
Abstract: this article is a descriptive study of developing a desktop application
with PHP technology compiled in MS-Windows XP Professional. And aims to
describe some features of the compiler Roadsend PHP. The PHP is compiled as
an alternative to replacement PHP interpreted because the compiler Roadsend
is the only one that compiles PHP source code to code machine.
Keywords: PHP compiled, interpreted PHP, Roadsend
GEORGE MENDES MARRA
Mestrando em Engenharia Eltrica na Universidade Federal de Uberlndia.
Especialista em Redes de Computadores pela Universidade Catlica de Gois
(UCG). Bacharel em Cincias da Computao pela UCG. Professor de Redes de
Computadores e Software Livre na UNICALDAS Faculdade de Caldas Novas
e UEG Unidade de Caldas Novas. E-mail: george.mendes@gmail.com

Você também pode gostar