website annotate pt/doc/handbook/development.html @ rev 165

pt: handbook - added more translated pages
author Claudinei Pereira <claudinei@ensinoemrede.com>
date Sat Sep 13 00:04:02 2008 -0300 (2008-09-13)
parents 4dfe933b4257
children c6b2d9c4e031
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 &amp; 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 &amp;
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 --&gt; Development --&gt; 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 --&gt; Preferences. Pode-se também iniciá-lo pelo terminal:
paul@142 152 </p>
paul@142 153 <pre>
paul@142 154 $ geany &amp;
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 &amp;
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 &copy; 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>