software livre e padrões abertos no desenvolvimento web
DESCRIPTION
Palestra apresentada no Software Freedom Day 2009 em Campina Grande - PB sobre a importância do uso de padrões abertos e o PHP como uma solução de software livre para desenvolvimento WebTRANSCRIPT
Software livre e padrões abertos no desenvolvimento
Web
Felipe [email protected]://feliperibeiro.com@felipernb
Saturday, September 19, 2009
Felipe Ribeiro
•Graduando (concluinte) em Ciência da Computação na UFCG
•Zend Certified Engineer - PHP5
•Trabalha com desenvolvimento Web, atualmente na startup Shoprizer.com
•Membro fundador do grupo PHP-PB
•Contribuidor do PHP no Google Summer ofCode 2009
•Ex-contribuidor do projeto Mozilla Camino
Saturday, September 19, 2009
A Web
Saturday, September 19, 2009
A Web
Softwares distintos se comunicando, independente de plataforma, fornecedor e linguagem de programação
Saturday, September 19, 2009
Como é possível?
Saturday, September 19, 2009
Como é possível?
TCP/IP HTTP
HTML CSS
Saturday, September 19, 2009
Padrões abertos são padrões disponíveis para livre acesso e
implementação, que independem de royalties e outras taxas e sem
discriminação de uso.
Padrões abertos
Saturday, September 19, 2009
Porque padrões abertos são
importantes?
Saturday, September 19, 2009
Em alguns lugares do oriente médio, esse gesto...
Saturday, September 19, 2009
Então é melhor usar algo que todos possam
entender!
seria interpretado assim...
Saturday, September 19, 2009
W3C é um consórcio de empresa que regulamenta os padrões da Web, entre eles:
• HTML
• XML
• XHTML
• XPath
• XQuery
• XSLT
• CSS
• SVG
• SOAP, WSDL (Web Services)
• OWL (Web Semântica)
Saturday, September 19, 2009
Saturday, September 19, 2009
•Desenho vetorial em Canvas•Armazenamento de informação no cliente•Drag-and-drop•Tags para vídeo e áudio, evitando a necessidade de
plugins•Polêmica na escolha do padrão de vídeo
•Ogg Theora - Padrão aberto•H.264 - Padrão proprietário
•Animações•Entre outras coisas
HTML5
Saturday, September 19, 2009
A maioria dos servidores Web roda software livre
Saturday, September 19, 2009
LAMP
LinuxApacheMySQLPHP
Saturday, September 19, 2009
E isso presta?Na universidade eu aprendi que Java
é a solução para todos os meus problemas.
Quem usa PHP?
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
delicious
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
É... parece que vale a pena conhecer...
Saturday, September 19, 2009
"PHP is not about purity in CS principles or architecture; it is about solving the ugly web
problem with an admittedly ugly, but extremely functional and convenient solution. If you are
looking for purity, you are in the wrong boat. Get out now before you get hit by a wet cat!" -
Rasmus LerdorfSaturday, September 19, 2009
1993
Saturday, September 19, 2009
1993
<HTML> <HEAD> <TITLE>My Personal Home Page</TITLE> </HEAD> <BODY> This is my cool page<P> And look at my counter<P> <IMG SRC="/cgi-bin/counter.pl"> </BODY></HTML>
Saturday, September 19, 2009
1994<!--getenv HTTP_USER_AGENT--><!--ifsubstr $exec_result Mozilla-->Hey, you are using Netscape!<p><!--endif-->
<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->Sorry, that record does not exist<p><!--endif exit-->
Welcome <!--$user-->!<p>You have <!--$index:0--> credits left in your account.<p>
<!--include /text/footer.html-->
Saturday, September 19, 2009
1995
<? $name = "bob"; $db = "db"; $result = msql($db,"select * from table where firstname='$name'"); $num = msql_numrows($result); echo "$num records found!<p>"; $i=0; while($i<$num); echo msql_result($result,$i,"fullname"); echo "<br>"; echo msql_result($result,$i,"address"); echo "<br>"; $i++; endwhile;>
Saturday, September 19, 2009
2005<?phpclass db { protected static $dbh = false;
function connect() { self::$dbh = new PDO('mysql:host=localhost;dbname=test','user','pass'); self::$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }}
class items extends db { function load($name) { if(!self::$dbh) $this->connect(); try { if(!self::$dbh) $this->connect(); $stmt = self::$dbh->prepare("SELECT * FROM items WHERE firstname=:name ORDER by ctime desc"); $ret = $stmt->execute(array('name'=>$name)); } catch (PDOException $e) { die($e->getMessage()); } return $ret; }}
?>
Saturday, September 19, 2009
2009Closures
<?php$getClosure = function($v) { return function() use($v) { echo "Hello World: $v!\n"; };};
$closure = $getClosure(2);$closure();?>
Saturday, September 19, 2009
2009Namespaces
<?php
namespace foo;
class bar { function __construct() { echo get_called_class(); }}?>
Saturday, September 19, 2009
Que ferramentas utilizar no
desenvolvimanto?
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
Saturday, September 19, 2009
PHP é seguro?
Saturday, September 19, 2009
Free/Open/NetBSD são seguros?
MS Windows® é seguro?
Saturday, September 19, 2009
São todos escritos principalmente em
C!
Saturday, September 19, 2009
A linguagem de programação não é
o fator determinante na
segurança de um sistema
Saturday, September 19, 2009
PHP está pronto para aplicações “enterprise”?
Saturday, September 19, 2009
XML
Saturday, September 19, 2009
Saturday, September 19, 2009
SOAP
Saturday, September 19, 2009
Saturday, September 19, 2009
REST
Saturday, September 19, 2009
Saturday, September 19, 2009
JSON
Saturday, September 19, 2009
JSON
Saturday, September 19, 2009
Existem pacotes reutilizáveis em
PHP?
Saturday, September 19, 2009
PEAR
Saturday, September 19, 2009
PEAR
PHPExtension and Application Repository
Saturday, September 19, 2009
Saturday, September 19, 2009
• Pacotes escritos por membros ativos da comunidade PHP
• Tudo testado por um time exigente de controle de qualidade.
• Gerenciamento “a la apt-get”:Ex.: pear install Logpear upgrade PHPUnitpear uninstall Text_CAPTCHA
Saturday, September 19, 2009
Frameworks
Para todos os gostos, dos mais “Java-like” aos mais “Rails-like”
Saturday, September 19, 2009
Frameworks
Saturday, September 19, 2009
E o mercado?Saturday, September 19, 2009
PHP é a linguagem mais popular da Web
O desenvolvimento de aplicações é rápido e menos custoso
Startups surgem todos os dias
Saturday, September 19, 2009
Grandes players estão investindo no PHP
IBMYahoo!Microsoft
Mercado amadurecido e certificações
Saturday, September 19, 2009
Quer saber mais
sobre o PHP?
Grupo de desenvolvedores PHP da ParaíbaIII Encontro será no dia 31/10/2009 no
SEBRAE em João Pessoa
Saturday, September 19, 2009
<?php
echo("Dúvidas?");
$contato = array( "nome" => "Felipe Ribeiro", "email" => "[email protected]", "blog" => "http://feliperibeiro.com", "twitter" => "@felipernb");
var_dump($contato);
?>
Saturday, September 19, 2009