software livre e padrões abertos no desenvolvimento web

Post on 18-Nov-2014

6.462 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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 Web

TRANSCRIPT

Software livre e padrões abertos no desenvolvimento

Web

Felipe Ribeirofelipernb@php.nethttp://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" => "felipernb@php.net", "blog" => "http://feliperibeiro.com", "twitter" => "@felipernb");

var_dump($contato);

?>

Saturday, September 19, 2009

top related