Anda di halaman 1dari 12

Documentodeinvestigacin(frameworkespaolmarcodetrabajo).

Equipodefacturacin(CesarDubielgrajales,CarlosAndresMartinez,AndersonDiaz,
DanielCardona)


FRAMEWORKS

QUEESUNFRAMEWORK?

Lapalabrainglesa"
framework
"(marcodetrabajo)define,entrminosgenerales,un
conjuntoestandarizadodeconceptos,prcticasycriteriosparaenfocaruntipode
problemticaparticularquesirvecomoreferencia,paraenfrentaryresolvernuevos
problemasdendolesimilar.

Eneldesarrollodesoftware,un
framework
o
infraestructuradigital
,esunaestructura
conceptualytecnolgicadesoportedefinido,normalmenteconartefactosomdulosde
softwareconcretos,quepuedeservirdebaseparalaorganizacinydesarrollode
software
.
Tpicamente,puedeincluirsoportede
programas
,
bibliotecas
,yun
lenguajeinterpretado
,
entreotrasherramientas,paraasayudaradesarrollaryunirlosdiferentescomponentesde
unproyecto.

Unframeworkes,bsicamente,unconjuntodeclasesqueinteractanenformacooperativa
paradarsolucinaunadeterminadanecesidad.Lasprincipalescaractersticasdeun
Frameworkson:Elestarenfocadoenuntemaespecficoyseraltamentereutilizable.
https://www.youtube.com/watch?v=vuaxrIUae60
vervideo

HISTORIADELOSFRAMEWORKS

PRIMERAGENERACIN

Integraraplicacioneseramuydifcil(procesosbatch,importacinexportacin,etc).
Programacionenlenguajesdeprimerageneracion:COBOL,
FORTRAN,PASCAL,C,ETC.
Nocualquierapodaescribiraplicaciones.
Notodostenanaccesoaunacomputadora.


SEGUNDAGENERACIN

Ahorayaelusodelacomputadoranoeraprivilegiodeunospocos.
Sepodrateneraplicacionesenunasolacomputadora(standalone).

TERCERAGENERACIN

SurgeelBOOMdeinternet,sesiguemezclandoelpoderdelascomputadorasde
escritorioconelusodeservidorespotentesparadarlesservicios.
Aparecennuevoslenguajescomo:Java,VisualBasic,ETC.

FRAMEWORKSPHP

Symfony:

Symfonysehaconvertidoenunodelosframeworks
msusadosenlaactualidadparaeldesarrollode
proyectosdecasicualquiertamao.Aligualqueparte
delossiguientesframeworksponeenprcticael
patrndediseomodelovistacontrolador,adems
tienecomponentescomplementarioscomosistemadeplantillas,traduccin,rutas(REST),
sistemadeficherosyunalistabastanteinteresante.
Caractersticas
Symfonyfuediseadoparaajustarsealossiguientesrequisitos:
Fcildeinstalaryconfigurarenlamayoradeplataformas(yconlagarantade
quefuncionacorrectamenteenlossistemasWindowsy*nixestndares).
Independientedelsistemagestordebasesdedatos.Sucapadeabstraccinyel
usodeORM(Doctrine2,Propel),permitencambiarconfacilidaddeSGBDen
cualquierfasedelproyecto.
Utilizaprogramacinorientadaaobjetosycaractersticascomolosespaciosde
nombres,deahqueseaimprescindiblePHP5.3.
Sencillodeusarenlamayoradecasos,aunqueespreferibleparaeldesarrollode
grandesaplicacionesWebqueparapequeosproyectos.

AunqueutilizaMVC(ModeloVistaControlador),tienesupropiaformadetrabajo
enestepunto,convariantesdelMVCclsicocomolacapadeabstraccinde
basededatos,elcontroladorfrontalylasacciones.
Basadoenlapremisadeconvenirenvezdeconfigurar,enlaqueel
desarrolladorslodebeconfiguraraquelloquenoesconvencional.
Siguelamayorademejoresprcticasypatronesdediseoparalaweb.
Preparadoparaaplicacionesempresarialesyadaptablealaspolticasy
arquitecturaspropiasdecadaempresa,ademsdeserlosuficientementeestable
comoparadesarrollaraplicacionesalargoplazo.
CdigofcildeleerqueincluyecomentariosdephpDocumentoryquepermiteun
mantenimientomuysencillo.
Fcildeextender,loquepermitesuintegracinconlasbibliotecasdeotros
fabricantes.
Unapotentelneadecomandosquefacilitangeneracindecdigo,locual
contribuyeaahorrartiempodetrabajo.
Caractersticasparaeldesarrolloautomatizadodeproyectosweb
Lascaractersticasmscomunesparaeldesarrollodeproyectoswebestnautomatizadas
ensymfony,talescomo:
Permitelainternacionalizacinparalatraduccindeltextodelainterfaz,losdatos
yelcontenidodelocalizacin.
Lapresentacinusa
templates
y
layouts
quepuedenserconstruidospor
diseadoresdeHTMLquenoposeanconocimientosdel
framework
.

Losformulariossoportalavalidacinautomtica,locualaseguramejorcalidadde
losdatosenlasbasededatosyunamejorexperienciaparaelusuario.
Elmanejodecachreduceelusodebandaanchaylacargadelservidor.
Lafacilidaddesoportarautenticacinycredencialesfacilitalacreacindereas
restringidasymanejodeseguridaddelosusuarios.
ElenrutamientoylasURLsinteligenteshacenamigablelasdireccionesdelas
pginasdelaaplicacin.
Laslistassonmsamigables,yaquepermitelapaginacin,clasificacinyfiltraje
automticos.
Lospluginsproveenunaltoniveldeextensibilidad.

LainteraccinconAJAXesmuchomssencilla.

SILEX:
Silexesunmicroframework,oesonosquierenhacercreer,porquees
bastantecompletoensucometido.Desciendedirectamentede
SymfonyyvienetambindelamanodeSensioLabs.Incorporael
patrnmodelovistacontroladordeunaformamuysimpledeusar,
mediantesusencillomtododeenrutamientoqueaportatotalflexibilidadenlaforma
derecibirpeticiones.

KumbiaPHP:
PorfinllegamosaKumbiaPHP,elframeworkquereclamaronlamayora
delaspersonasquecomentaronennuestroanteriorrepasode
frameworks.Ysindudaloreclamabanycomentabansusbondadesde
formatotalmentefundada,KumbiaPHPesunframeworkrealizadoporla
comunidadhispanohablantequeincorpora,paraempezarMVC,
aliandoconunalargaseriedeelementosquenosayudarna
desarrollarnuestrosproyectosmsrpido.Incorporaunsistemade
cacheo,mapeoobjetorelacional,sistemadeplantillas,sistemaderutas,
generadordeformularios,componentesgrficosyanms.Sinduda,unabuena
opcin.
KumbiaPHPFrameworkintentaproporcionarfacilidadesparaconstruiraplicacionesrobustas
paraentornoscomerciales.Estosignificaqueelframeworkesmuyflexibleyconfigurable.
KumbiaPHPesunesfuerzoporproducirunframeworkqueayudeareducireltiempode
desarrollodeunaaplicacinwebsinproducirefectossobrelosprogramadores.
Caractersticas
Sistemadeplantillassencillo.
AdministracindeCach.
ScaffoldingAvanzado.
MapeoObjetoRelacional(ORM)ySeparacinMVC.
SoporteparaAJAX.
GeneracindeFormularios.
ComponentesGrficos.
URLamigables
SeguridadACL(ListasdeAcceso)
PatrnActiveRecordparalosmodelos

Orientadoalpblicodehablacastellana
ElnmeroderequisitosparainstalaryconfiguraresUnixoWindowsconunservidorweby
PHP5instalado.KumbiaPHPescompatibleconmotoresdebasededatoscomoMySQL,
PostgreSQLyOracle.
KumbiaPHPestdiseadoteniendoencuentalossiguientesaspectos:
Sercompatibleconmuchasplataformas.
Fcildeinstalaryconfigurar.
Fcildeaprender.
Listoparaaplicacionescomerciales.
Convencinsobreconfiguracin.
Simpleenlamayorpartedecasosperoflexibleparaadaptarseacasosms
complejos.
Soportarmuchascaractersticasdelasaplicacioneswebactuales.
Soportarlasprcticasypatronesdeprogramacinmsproductivosyeficientes.
Produciraplicacionesfcilesdemantener.
Essoftwarelibre.
Elprincipalobjetivoesproduciraplicacionesqueseanprcticasparaelusuariofinalynosolo
paraelprogramador.Lamayorpartedetareasquelequitentiempoaldesarrolladordeberan
serautomatizadasporKumbiaPHPparaquelpuedaenfocarseenlalgicadenegociode
suaplicacin.
ZendFramework:

ZendFrameworkesunframeworkfcildeentender,
biendocumentadoyquecumplevariasfuncionesde
formasegura,eficienteymodular(siasloqueremos).
Incorporaelmodelovistacontrolador,ademsdetener
sistemaderutas,sistemadegeneracindeformularios
ysistemadetraduccin.Incorporaunacapade
compatibilidadconbasesdedatosdedistintos
proveedores,parahacerlosproyectosmsuniformesy
fcilmenteportables.

APIGILITY:
YdeloscreadoresdeZendFramework:
Apigility
,el
frameworkperfectoparacrearAPIsparanuestros
proyectos,yaseanparaservirymanipularcontenido
portercerosoparafacilitarlamanipulacindela
informacinporpartedenuestras
aplicaciones.Permitecrearyconfigurardeforma
simplemediantesugestorAPIsRESTfuloRPC,
incorporandoademsvariossistemasde
autenticacinyfiltradodepeticiones.

KOHANA:

Kohanaestodouncajndesastre,incorporaademsdeMVC
unsinfindefuncionescomplementarias,posicionndose
cmounodelosmscompletos.Tieneunsistemadeusuarios
yroles,sistemadecacheo,facilitaycompatibilizala
interaccincondistintasbasesdedatos,tienemodeladopara
elmapeoobjetorelacionalyunsistemademanipulacinde
imgenes,entreotrascaractersticas.

WEBAPPLICATIONFRAMEWORKS

Unframeworkdeaplicacioneswebesuntipodeframeworkquepermiteeldesarrollode
sitioswebdinmicos,webservices(serviciosweb)yaplicacionesweb.Elpropsitodeeste
tipodeframeworkespermitiralosdesarrolladoresconstruiraplicacioneswebycentrarseen
losaspectosinteresantes,aliviandolatpicatarearepetitivaasociadaconpatronescomunes
dedesarrolloweb.Lamayoradelosframeworksdeaplicacioneswebproporcionanlostipos
defuncionalidadbsicacomn,talescomosistemasdetemplates(plantillas),manejode
sesionesdeusuario,interfacescomunesconeldiscooelalmacenamientoenbasededatos
decontenidocacheado,ypersistenciadedatos.Normalmente,losframeworksdeaplicacin
webademspromuevenlareutilizacinyconectividaddeloscomponentes,ascomola
reutilizacindecdigo,ylaimplementacindebibliotecasparaelaccesoabasededatos.

RubyonRails

FrameworkMVCbasadoenRuby,orientado
aldesarrollodeaplicacionesweb

CodeIgniter

PoderosoframeworkPHPlivianoyrpido

Kohana

UnforkdeCodeIgniter,GraciasaSamuel
pormencionarloenloscomentarios.

Django

FrameworkPythonquepromueveel
desarrollorpidoyeldiseolimpio

CakePHP

FrameworkMVCparaPHPdedesarrollo
rpido

ZendFramework

FrameworkparaPHP5,simple,claroy
opensource

Yii

FrameworkPHPdealtorendimientobasado
encomponentes

Pylons

FrameworkwebparaPythonqueenfatizala
flexibilidadyeldesarrollorpido

Catalyst

FrameworkparaaplicacioneswebMVC
elegante

Symfony

Frameworkfullstack

TurboGears

Prximageneracinconstruidosobre
Pylons

Elmsconocidopatrndediseodeaplicacioneswebeslaarquitectura
ModelViewController(MVC:ModeloVistaControlador).UnModeloesunobjetoque
representadatosoinclusounaactividadenformadetablaenbasededatos.UnaVistaes
algntipodevisualizacindelestadodelmodelo,yunControladorofrecefunciones
(herramientas)paracambiarelestadodelmodelo.

CakePHP:
CakePHPesunframeworkparaeldesarrolloaplicacioneswebescritoen
PHP,creadosobrelosconceptosdeRubyonRails.
CakePHPempezen2005,cuandoRubyOnRailsestabaganando
popularidadyutilizamuchosdesusconceptos.Desdeentoncesla
comunidadcreciygenermuchossubproyectos.

Principalescaractersticas:
CakePHPopastelPHPesunframeworkomarcodetrabajoquefacilitaeldesarrollode
aplicacionesweb,utilizandoelpatrndediseo
MVC
(
M
odelo
V
ista
C
ontrolador).Esde
cdigoabiertoysedistribuyebajolicenciaMIT.
AligualqueRubyOnRails,CakePHPfacilitaalusuariolainteraccinconlabasededatos
medianteelusodeActiveRecord.Ademshaceusodel
patrn
ModeloVistaControlador.
CompatibleconPHP4yPHP5
CRUDdelabasededatosintegrado
URLsamigables
Sistemadeplantillasrpidoyflexible
AyudasparaAJAX,Javascript,HTML,formsyms
Trabajaencualquiersubdirectoriodelsitio
Validacinintegrada
Scaffoldingdelasaplicaciones
AccessControlLists
Sintetizacindedatos
Componentesdeseguridadysesin

Yii:
Yiiesunframeworkorientadoaobjetos,softwarelibre,dealtorendimiento
basadoencomponentes,PHPyframeworkparaaplicacionesweb.Yiise
pronunciaenespaolcomoseescribeyesunacrnimopara"YesItIs!"
(enespaol:Sloes!).

ElproyectoYiicomenzel1deenerode2008,conelfindesolucionaralgunosproblemas
conelframeworkPRADO.Porejemplo,PRADOeslentomanejandopginascomplejas,
tieneunacurvadeaprendizajemuypronunciadaytienevarioscontrolesquedificultanla
personalizacin,mientrasqueYiiesmuchomsfcilyeficiente.Enoctubrede2008
despusde10mesesdetrabajoenprivado,laprimeraversinalfadeYiifuelanzada.El3
dediciembredelmismoao,Yii1.0fueformalmentepresentado.
Caractersticas
AlgunascaractersticasdeYiiincluyen:
PatrndediseoModeloVistaControlador(MVC).
DatabaseAccessObjects(DAO),querybuilder,ActiveRecordymigracinde
basededatos.
IntegracinconjQuery.
EntradasdeFormularioyvalidacin.
WidgetsdeAjax,comoautocompletadodecamposdetextoydems.
SoportedeAutenticacinincorporado.Ademssoportaautorizacinva
rolebasedaccesscontrol(RBAC)jerrquico.
Personalizacindeaspectosytemas.
GeneracincomplejaautomticadeWSDL,especificacionesyadministracinde
peticionesWebservice.
Internacionalizacinylocalizacin.Soportatraducciones,formatodefechayhora,
formatodenmeros,ylocalizacindelavista.
Esquemadecachingporcapas.Soportaelcachdedatos,cachdepginas,
cachporfragmentosycontenidodinmico.Elmediodealmacenamientodel
cachpuedesercambiado.
Elmanejodeerroresylogging.Loserroressonmanejadosypersonalizados,ylos
logdemensajespuedensercategorizados,filtradosymovidosadiferentes
destinos.
Lasmedidasdeseguridadincluyenlaprevencincrosssitescripting(XSS),
prevencincrosssiterequestforgery(CSRF),prevencindelamanipulacinde
cookies,etc.
HerramientasparapruebasunitariasyfuncionalesbasadosenPHPUnity
Selenium.

Generacinautomticadecdigoparaelesqueletodelaaplicacin,aplicaciones
CRUD,etc.
GeneracindecdigoporcomponentesdeYiiylaherramientaporlneade
comandoscumpleconlosestndaresdeXHTML.
Cuidadosamentediseadoparatrabajarbienconcdigodeterceros.Porejemplo,
esposibleusarelcdigodePHPoZendFrameworkenunaaplicacinYii.
Licencia
YiiesliberadobajolaNuevaLicenciaBSD.Estosignificaqueesposibleutilizardeforma
gratuitaparadesarrollarcualquieraplicacinwebdecdigoabiertoosoftwareprivativo.
EltextoquefiguraenladocumentacinoficialdeYiitienelicenciaparaelpblicobajola
GNUFreeDocumentationLicense(GFDL).Engeneral,elcontenidodeladocumentacinYii
puedesercopiado,modificadoyredistribuidosiempreycuandolanuevaversinde
subvencionesdelasmismaslibertadesalosdemsyreconozcaalosautoresdelartculode
ladocumentacinutilizadaYii.
EllogotipoestbajounalicenciaCreativeCommonsAtribucinNoDerivativeWorks3.0
Unported.
CATALYST:
Catalyst
esunaestructuradecdigolibreparaaplicacionesweb
escritoenPerl.SoportalaarquitecturaMVC,ascomosoporta
algunospatroneswebexperimentales.Estaltamenteinspiradoen
RubyonRails,MaypoleySpring.
CatalystpromueveelreutilizamientodelosmdulosdePerlqueyasoportanbienloque
requierenlaspginasWeb.
LaformaenqueCatalystsoportalaarquitecturaMVCeslasiguiente:
Lapartede
Modelo
(
Model
)esmanejadapormediode
DBIx:Class
,
Plucene
,
Net::LDAP
uotrasclasesmodelo.

Lapartede
Vista
(
View
)esusualmentemanejadapor
TemplateToolkit
,
Mason
o
HTML::Template
.

Lapartede
Control
(
Controller
)esescritaporelautor,porsupuesto.Grandes
pedazosdefuncionalidadusualmentesepuedenconseguirconlospluginsde

Catalyst(ejemplo:
Catalyst::Plugin::FormValidator
,
Catalyst::Plugin::Prototype
,
Catalyst::Plugin::Account::AutoDiscovery
,etc.).

CatalystproveeayudasparasimplificarelcontroldeflujoymapeodeURLsparalosmtodos
deControl.UnadelascaractersticasadestacaresqueCatalysttieneunagranvariedadde
pluginslocualfacilitasuutilizacin.
PERL
esunlenguajedeprogramacindiseadoporLarryWallen1987.Perltoma
caractersticasdellenguajeC,dellenguajeinterpretadobourneshell(sh),AWK,sed,Lispy,
enungradoinferior,demuchosotroslenguajesdeprogramacin.

FRAMEWORKPHPMSUSADOSENEL2015


Bibliografia
1. Wikipediaparalainformacindelosframework.
2. http://elbauldelprogramador.com

Anda mungkin juga menyukai