rev |
line source |
paul@142
|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
paul@142
|
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
claudinei@165
|
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt">
|
paul@142
|
4 <head>
|
claudinei@165
|
5 <title>Manual SliTaz (pt) - Desenvolvimento</title>
|
paul@142
|
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
claudinei@165
|
7 <meta name="description" content="slitaz portuguese handbook" />
|
paul@142
|
8 <meta name="expires" content="never" />
|
paul@142
|
9 <meta name="modified" content="2008-07-16 23:00:00" />
|
paul@142
|
10 <meta name="publisher" content="www.slitaz.org" />
|
paul@142
|
11 <meta name="author" content="Christophe Lincoln"/>
|
paul@142
|
12 <link rel="shortcut icon" href="favicon.ico" />
|
paul@142
|
13 <link rel="stylesheet" type="text/css" href="book.css" />
|
paul@142
|
14 </head>
|
paul@142
|
15 <body bgcolor="#ffffff">
|
paul@142
|
16
|
paul@142
|
17 <!-- Header and quick navigation -->
|
paul@142
|
18 <div id="header">
|
paul@142
|
19 <div align="right" id="quicknav">
|
paul@142
|
20 <a name="top"></a>
|
claudinei@165
|
21 <a href="multimedia.html">Multimídia</a> |
|
claudinei@165
|
22 <a href="index.html">Conteúdo</a>
|
paul@142
|
23 </div>
|
claudinei@165
|
24 <h1><font color="#3E1220">Manual SliTaz (pt)</font></h1>
|
paul@142
|
25 </div>
|
paul@142
|
26
|
paul@142
|
27 <!-- Content. -->
|
paul@142
|
28 <div id="content">
|
paul@142
|
29 <div class="content-right"></div>
|
paul@142
|
30
|
claudinei@165
|
31 <h2><font color="#DF8F06">Desenvolvimento</font></h2>
|
paul@142
|
32
|
paul@142
|
33 <ul>
|
claudinei@165
|
34 <li><a href="#about">Sobre Desenvolvimento</a></li>
|
paul@142
|
35 <li><a href="#shell-scripts">SHell scripts</a> - #!/bin/sh</li>
|
claudinei@165
|
36 <li><a href="#dialog">Dialog</a> - Interface Gráfica para o console.</li>
|
claudinei@165
|
37 <li><a href="#geany">Geany</a> - IDE ou "Integrated Development Environment"
|
claudinei@165
|
38 (Ambiente de Desenvolvimento Integrado).</li>
|
claudinei@165
|
39 <li><a href="#perl">Perl ou Microperl</a> - Scripts escritos em Perl .</li>
|
claudinei@165
|
40 <li><a href="#python">Python</a> - A linguagem python.</li>
|
claudinei@165
|
41 <li><a href="#ruby">Ruby</a> - A linguagem Ruby.</li>
|
claudinei@165
|
42 <li><a href="#toolchain">Toolchain</a> - Bibliotecas, compilador C e
|
claudinei@165
|
43 ferramentas.</li>
|
paul@142
|
44 </ul>
|
paul@142
|
45
|
paul@142
|
46 <a name="about"></a>
|
claudinei@165
|
47 <h3>Sobre Desenvolvimento</h3>
|
paul@142
|
48 <p>
|
claudinei@165
|
49 O SliTaz fornece ferramentas de desenvolvimento para web design, edição de
|
claudinei@165
|
50 scripts e código fonte. No website, a página
|
claudinei@165
|
51 <a href="http://www.slitaz.org/pt/devel/">Desenvolvimento</a> traz informações
|
claudinei@165
|
52 gerais sobre os desenvolvedores e as oportunidades de envolvimento.
|
paul@142
|
53 </p>
|
paul@142
|
54
|
paul@142
|
55 <a name="shell-scripts"></a>
|
paul@142
|
56 <h3>SHell scripts</h3>
|
paul@142
|
57 <p>
|
claudinei@165
|
58 Escrever SHell scripts é a forma mais fácil de se começar a escrever código:
|
claudinei@165
|
59 eles podem prover resultados rápidos e os únicos pré-requisitos são saber abrir
|
claudinei@165
|
60 o terminal e usar um editor de texto como o Nano, o Leafpad ou o Geany. SHell
|
claudinei@165
|
61 scripts são capazes de fazer muitas coisas num sistema GNU/Linux - iniciar o
|
claudinei@165
|
62 sistema, fazer backups, executar tarefas repetitivas, mostrar informações sobre
|
claudinei@165
|
63 o sistema, criar ou modificar arquivos, etc. Em um SHell script pode-se usar
|
claudinei@165
|
64 variáveis, funções ou chamados para incluir um arquivo. Note que você pode
|
claudinei@165
|
65 nomear um script como quiser e a extensão .sh é largamente usada.
|
paul@142
|
66 </p>
|
claudinei@165
|
67 <h4>Crie um SHell script</h4>
|
paul@142
|
68 <p>
|
claudinei@165
|
69 Antes de iniciar um novo SHell script, deve-se prestar atenção ao interpretador
|
claudinei@165
|
70 usado. A maioria dos SHell scripts usam o interpretador <code>/bin/sh</code> por
|
claudinei@165
|
71 este ser mais portável, porém há muitos scripts que utilizam o
|
claudinei@165
|
72 <code>/bin/bash</code> e este deve estar instalado no sistema. Para um SHell
|
claudinei@165
|
73 script funcionar, ele deve ser tornado executável pelo usuário atual mudando-se
|
claudinei@165
|
74 as permissões na linha de comando usando o comando <code>chmod</code>.
|
claudinei@165
|
75 Para criar um script <code>script.sh</code> e torná-lo executável:
|
paul@142
|
76 </p>
|
paul@142
|
77 <pre>
|
paul@142
|
78 $ touch script.sh
|
paul@142
|
79 $ chmod +x script.sh
|
paul@142
|
80 </pre>
|
paul@142
|
81 <p>
|
claudinei@165
|
82 Agora que você possui um arquivo executável, pode editá-lo. Pode-se optar por
|
claudinei@165
|
83 continuar no terminal e usar o editor Nano (ctrl + x para salvar & sair) ou
|
claudinei@165
|
84 usar o IDE Geany para a edição:
|
paul@142
|
85 </p>
|
paul@142
|
86 <pre>
|
paul@142
|
87 $ nano script.sh
|
claudinei@165
|
88 Ou :
|
paul@142
|
89 $ geany script.sh &
|
paul@142
|
90 </pre>
|
paul@142
|
91 <p>
|
claudinei@165
|
92 Exemplo de um script que contem a variável <code>NAME</code> e mostra
|
claudinei@165
|
93 seu valor com o comando <code>echo</code>:
|
paul@142
|
94 </p>
|
paul@142
|
95 <pre class="script">
|
paul@142
|
96 #!/bin/sh
|
paul@142
|
97
|
paul@142
|
98 NAME="kayam"
|
paul@142
|
99
|
paul@142
|
100 echo "$NAME is nice."
|
paul@142
|
101
|
paul@142
|
102 </pre>
|
paul@142
|
103 <p>
|
claudinei@165
|
104 Uma vez criado/modificado seu script <code>script.sh</code>, você pode
|
claudinei@165
|
105 executá-lo para ver o resultado:
|
paul@142
|
106 </p>
|
paul@142
|
107 <pre>
|
paul@142
|
108 $ ./script.sh
|
paul@142
|
109 </pre>
|
paul@142
|
110 <p>
|
claudinei@165
|
111 Apenas demos uma breve introdução sobre SHell scripts. A internet é cheia de
|
claudinei@165
|
112 informações que você pode encontrar se deseja conhecer o tema mais profundamente.
|
paul@142
|
113 </p>
|
paul@142
|
114
|
paul@142
|
115 <a name="dialog"></a>
|
paul@142
|
116 <h3>Dialog</h3>
|
paul@142
|
117 <p>
|
claudinei@165
|
118 O Dialog pode criar Interfaces Gráficas para ferramentas de linha de comando
|
claudinei@165
|
119 como o 'tazkmap'. Os arquivos de configuração encontram-se em /etc/dialogrc e/ou
|
claudinei@165
|
120 no diretório ~/dialogrc de cada usuário. Abaixo um simples exemplo de uso do
|
claudinei@165
|
121 Dialog via um console ou terminal:
|
paul@142
|
122 </p>
|
paul@142
|
123 <pre>
|
paul@142
|
124 $ dialog --title "Hello $USER" \
|
paul@142
|
125 --msgbox "Message made by dialog." 5 54
|
paul@142
|
126 </pre>
|
paul@142
|
127 <p>
|
claudinei@165
|
128 Pode-se encontrar vários scripts de exemplo no diretório /sample contido no
|
claudinei@165
|
129 código fonte do Dialog, que pode ser obtido no endereço:
|
claudinei@165
|
130 <a href="http://invisible-island.net/dialog/dialog.html">
|
claudinei@165
|
131 invisible-island.net/dialog/dialog.html</a>. Baixe o código fonte e descompacte:
|
paul@142
|
132 </p>
|
paul@142
|
133 <pre>
|
paul@142
|
134 $ wget ftp://invisible-island.net/dialog/dialog.tar.gz
|
paul@142
|
135 $ tar xzf dialog.tar.gz
|
paul@142
|
136 </pre>
|
paul@142
|
137
|
paul@142
|
138 <a name="geany"></a>
|
claudinei@165
|
139 <h3>IDE Geany</h3>
|
paul@142
|
140 <p>
|
claudinei@165
|
141 Geany é um IDE ou Ambiente de Desenvolvimento Integrado (Integrated Development
|
claudinei@165
|
142 Environment). Este aplicativo é simples, rápido e leve, oferecendo coloração de
|
claudinei@165
|
143 sintaxe, abas e auto-completar. Foi usado para criar esta página e a maioria
|
claudinei@165
|
144 da documentação encontrada no website (sendo o Nano usado também para algumas
|
claudinei@165
|
145 partes).
|
paul@142
|
146 </p>
|
claudinei@165
|
147 <h4>Executar o Geany</h4>
|
paul@142
|
148 <p>
|
claudinei@165
|
149 Você encontra o Geany no menu --> Development --> Geany.
|
claudinei@165
|
150 Após sua primeira execução, você pode ajustar suas preferências através da
|
claudinei@165
|
151 opção de menu Edit --> Preferences. Pode-se também iniciá-lo pelo terminal:
|
paul@142
|
152 </p>
|
paul@142
|
153 <pre>
|
paul@142
|
154 $ geany &
|
paul@142
|
155 </pre>
|
paul@142
|
156 <p>
|
claudinei@165
|
157 Nota: ao compilar código fonte, o script <code>./configure</code> oferece a
|
claudinei@165
|
158 opção: <code>-enable-the-force</code>... Que você pode usar se sentir a
|
claudinei@165
|
159 necessidade de se tornar um Guerreiro Jedi!
|
paul@142
|
160 </p>
|
paul@142
|
161
|
paul@142
|
162 <a name="perl"></a>
|
claudinei@165
|
163 <h3><font color="#6c0023">Perl ou Microperl - Escreva/use scripts Perl</font></h3>
|
paul@142
|
164 <p>
|
claudinei@165
|
165 No SliTaz você pode usar a poderosa linguagem de scripts Perl via os binários
|
claudinei@165
|
166 <code>perl</code> ou <code>microperl</code>. O Microperl é uma versão reduzida
|
claudinei@165
|
167 do Perl: compilado a partir dos fontes oficiais, os scripts feitos nesta versão
|
claudinei@165
|
168 são compatíveis com a versão completa do Perl.
|
claudinei@165
|
169 Um dos pontos fortes do Perl é sua portabilidade - pode-se usá-lo em qualquer
|
claudinei@165
|
170 sistema. Outro ponto de destaque é o fato de esta ser uma linguagem interpretada,
|
claudinei@165
|
171 o que significa que o código não precisa ser compilado e pode ser usado
|
claudinei@165
|
172 diretamente. No SliTaz tanto o Perl quanto o Microperl não são instalados por
|
claudinei@165
|
173 padrão no LiveCD. Pode-se, porém, reconstruir a iso ou instalá-los pelo
|
claudinei@165
|
174 gerenciador de pacotes. Nota: o Microperl possui apenas 1 Mb e não fornece
|
claudinei@165
|
175 módulo algum:
|
paul@142
|
176 </p>
|
paul@142
|
177 <pre>
|
paul@142
|
178 # tazpkg install perl
|
claudinei@165
|
179 Ou :
|
paul@142
|
180 # tazpkg install microperl
|
paul@142
|
181 </pre>
|
paul@142
|
182
|
paul@142
|
183 <h4>Hello world!</h4>
|
paul@142
|
184 <p>
|
claudinei@165
|
185 O propósito deste script é mostrar na tela a frase <em>Hello World</em>. Você
|
claudinei@165
|
186 pode começar criando o arquivo e tornando-o executável pela linha de comando e
|
claudinei@165
|
187 então editá-lo com o IDE Geany. Note que o script é chamado <code>hello.pl</code>,
|
claudinei@165
|
188 mas você pode chamá-lo como quiser ou não usar a extensão <code>.pl</code>:
|
paul@142
|
189 </p>
|
paul@142
|
190 <pre>
|
paul@142
|
191 $ touch hello.pl
|
paul@142
|
192 $ chmod +x hello.pl
|
paul@142
|
193 $ geany hello.pl &
|
paul@142
|
194 </pre>
|
paul@142
|
195 <p>
|
claudinei@165
|
196 A primeira linha de um script Perl define o caminho para o interpretador Perl,
|
claudinei@165
|
197 que geralmente se encontra em <code>/usr/bin/perl</code>. Para mostrar qualquer
|
claudinei@165
|
198 texto, use o comando <code>print</code>. Deve-se notar que o Perl é "case
|
claudinei@165
|
199 sensitive" (diferencia minúsculas de maiúsculas) e que cada linha de código
|
claudinei@165
|
200 sempre deve terminar com um ponto-e-vírgula. Código de exemplo (você pode
|
claudinei@165
|
201 copiar e colar):
|
paul@142
|
202 </p>
|
paul@142
|
203 <pre class="script">
|
paul@142
|
204 #!/usr/bin/perl
|
paul@142
|
205 #
|
paul@142
|
206
|
paul@142
|
207 print "Hello World!\n";
|
paul@142
|
208
|
paul@142
|
209 </pre>
|
paul@142
|
210 <p>
|
claudinei@165
|
211 Para executar e testar o script:
|
paul@142
|
212 </p>
|
paul@142
|
213 <pre>
|
paul@142
|
214 $ ./hello.pl
|
paul@142
|
215 </pre>
|
paul@142
|
216
|
claudinei@165
|
217 <h4>Scripts CGI e o Perl</h4>
|
paul@142
|
218 <p>
|
claudinei@165
|
219 Scripts CGI são projetados para mostrar páginas web geradas dinamicamente. A
|
claudinei@165
|
220 linguagem Perl associada a um servidor web LightTPD permite a utilização de
|
claudinei@165
|
221 scripts CGI em sua pasta pessoal de páginas web (public) ou em um host virtual.
|
claudinei@165
|
222 O Perl é suficientemente adaptado à Web 2.0 e pode gerar páginas xHTML.
|
claudinei@165
|
223 No SliTaz você deve possuir o Perl ou o Microperl instalados e o
|
claudinei@165
|
224 <a href="web-server.html#cgi-perl">servidor LightTPD</a> configurado antes de
|
claudinei@165
|
225 começar a codificar scripts CGI em Perl. Note que por padrão SHell scripts (.sh)
|
claudinei@165
|
226 podem ser colocados na pasta /cgi-bin/.
|
paul@142
|
227 </p>
|
paul@142
|
228 <p>
|
claudinei@165
|
229 Uma vez configurado o servidor, você pode colocar seu CGI em na sua pasta
|
claudinei@165
|
230 <code>$HOME/Public/cgi-bin</code> usando as extensões <code>.pl</code> ou
|
claudinei@165
|
231 <code>.cgi</code> e visualizá-los localmente ou remotamente. Exemplo de um script
|
claudinei@165
|
232 CGI escrito em Perl:
|
paul@142
|
233 </p>
|
paul@142
|
234 <pre class="script">
|
paul@142
|
235 #!/usr/bin/perl
|
paul@142
|
236 #
|
paul@142
|
237 print "content-type : text/html\n\n";
|
paul@142
|
238
|
paul@142
|
239 print "Hello World!\n";
|
paul@142
|
240
|
paul@142
|
241 </pre>
|
paul@142
|
242
|
paul@142
|
243 <a name="python"></a>
|
paul@142
|
244 <h3>Python</h3>
|
paul@142
|
245 <p>
|
claudinei@165
|
246 A linguagem de programação Python está disponível como um pacote instalável.
|
claudinei@165
|
247 Uma vez instalada, você pode criar seus próprios scripts/programas e usar
|
claudinei@165
|
248 aplicações CGI juntamente com o servidor web LightTPD, atentando para
|
claudinei@165
|
249 <a href="web-server.html#cgi-python">configurar o servidor</a> corretamente.
|
claudinei@165
|
250 Os repositórios Mercurial oficiais do SliTaz são providos por uma interface web
|
claudinei@165
|
251 escrita utilizando-se GCI/Python - algo perfeito para um produto confiável e
|
claudinei@165
|
252 robusto. Para instalar o pacote <code>python</code> com o tazpkg:
|
paul@142
|
253 </p>
|
paul@142
|
254 <pre>
|
paul@142
|
255 # tazpkg get-install python
|
paul@142
|
256 </pre>
|
paul@142
|
257
|
paul@142
|
258 <a name="ruby"></a>
|
paul@142
|
259 <h3>Ruby</h3>
|
paul@142
|
260 <p>
|
claudinei@165
|
261 A linguagem de programação Ruby está disponível como um pacote instalável. Ela
|
claudinei@165
|
262 é (segundo o website oficial): "Uma linguagem de programação dinâmica e de
|
claudinei@165
|
263 código fonte aberto focada em produtividade e simplicidade. Possui uma sintaxe
|
claudinei@165
|
264 elegante que é natural de se ler e fácil de escrever". O Ruby trata exceções,
|
claudinei@165
|
265 suporta Programação Orientada a Objetos (Object-Orientated Programming - OOP),
|
claudinei@165
|
266 possui gerenciamento de memória automático e é altamente portável. Para instalar
|
claudinei@165
|
267 o pacote <code>ruby</code> com o tazpkg:
|
paul@142
|
268 </p>
|
paul@142
|
269 <pre>
|
paul@142
|
270 # tazpkg get-install ruby
|
paul@142
|
271 </pre>
|
paul@142
|
272
|
paul@142
|
273 <a name="toolchain"></a>
|
claudinei@165
|
274 <h3>Toolchain - Bibliotecas, compilador C e ferramentas</h3>
|
paul@142
|
275 <p>
|
claudinei@165
|
276 Para compilar programas a partir dos fontes ou o seu próprio código, você
|
claudinei@165
|
277 precisa de pelo menos o <em>toolchain</em> básico, constituido do Binutils,
|
claudinei@165
|
278 Glibc, compilador C, <em>headers</em> (cabeçalhos) do Kernel e o utilitário
|
claudinei@165
|
279 Make. Note que o <em>toolchain</em> é usado pelos desenvolvedores do SliTaz
|
claudinei@165
|
280 para compilar todo os sistema a partir dos fontes. Para instalar o meta-pacote
|
claudinei@165
|
281 e todas suas dependências:
|
paul@142
|
282 </p>
|
paul@142
|
283 <pre>
|
paul@142
|
284 # tazpkg get-install slitaz-toolchain
|
paul@142
|
285 </pre>
|
paul@142
|
286 <p>
|
claudinei@165
|
287 A instalação do "toolchain" permite agora compilar aplicações básicas em modo
|
claudinei@165
|
288 console sem problemas utilizando o SHell Ash do Busybox, mas alguns outros pacotes
|
claudinei@165
|
289 não compilam sem o Bash. O GNU Bash está disponível como um
|
claudinei@165
|
290 <a href="system-admin.html#bash">pacote</a> assim como várias outras ferramentas
|
claudinei@165
|
291 de desenvolvimento como o Flex, o M4, bison ou o Pkg-config. Se você procura
|
claudinei@165
|
292 pelo pkg-config, por exemplo:
|
paul@142
|
293 </p>
|
paul@142
|
294 <pre>
|
paul@142
|
295 $ tazpkg search pkg-config
|
paul@142
|
296 </pre>
|
paul@142
|
297 <p>
|
claudinei@165
|
298 Se você desejar compilar aplicativos que se utilizem da biblioteca Ncurses, deve
|
claudinei@165
|
299 instalar o pacote <code>ncurses-dev</code>. Note que este pacote também
|
claudinei@165
|
300 fornece uma variedade de pequenos programas como o <code>tic</code> ou o
|
paul@142
|
301 <code>tack</code>:
|
paul@142
|
302 </p>
|
paul@142
|
303 <pre>
|
paul@142
|
304 $ tazpkg search ncurses
|
paul@142
|
305 </pre>
|
paul@142
|
306
|
paul@142
|
307 <!-- End of content -->
|
paul@142
|
308 </div>
|
paul@142
|
309
|
paul@142
|
310 <!-- Footer. -->
|
paul@142
|
311 <div id="footer">
|
claudinei@165
|
312 <div class="footer-right"></div>
|
claudinei@165
|
313 <a href="#top">Topo da Página</a> |
|
claudinei@165
|
314 <a href="index.html">Conteúdo</a>
|
paul@142
|
315 </div>
|
paul@142
|
316
|
paul@142
|
317 <div id="copy">
|
claudinei@165
|
318 Copyright © 2008 <a href="http://www.slitaz.org/pt/">SliTaz</a> -
|
paul@142
|
319 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
|
paul@142
|
320 Documentation is under
|
paul@142
|
321 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
|
paul@142
|
322 and code is <a href="http://validator.w3.org/">valid xHTML 1.0</a>.
|
paul@142
|
323 </div>
|
paul@142
|
324
|
paul@142
|
325 </body>
|
paul@142
|
326 </html>
|