investigación framework
DESCRIPTION
Frameworks orientados a la arquitecturaTRANSCRIPT
-
Documentodeinvestigacin(frameworkespaolmarcodetrabajo).Equipodefacturacin(CesarDubielgrajales,CarlosAndresMartinez,AndersonDiaz,DanielCardona)
FRAMEWORKS QUEESUNFRAMEWORK?Lapalabrainglesa"framework"(marcodetrabajo)define,entrminosgenerales,unconjuntoestandarizadodeconceptos,prcticasycriteriosparaenfocaruntipodeproblemticaparticularquesirvecomoreferencia,paraenfrentaryresolvernuevosproblemasdendolesimilar.Eneldesarrollodesoftware,unframeworkoinfraestructuradigital,esunaestructuraconceptualytecnolgicadesoportedefinido,normalmenteconartefactosomdulosdesoftwareconcretos,quepuedeservirdebaseparalaorganizacinydesarrollodesoftware.Tpicamente,puedeincluirsoportedeprogramas,bibliotecas,yunlenguajeinterpretado,entreotrasherramientas,paraasayudaradesarrollaryunirlosdiferentescomponentesdeunproyecto.Unframeworkes,bsicamente,unconjuntodeclasesqueinteractanenformacooperativaparadarsolucinaunadeterminadanecesidad.LasprincipalescaractersticasdeunFrameworkson:Elestarenfocadoenuntemaespecficoyseraltamentereutilizable.https://www.youtube.com/watch?v=vuaxrIUae60vervideo
HISTORIADELOSFRAMEWORKS
PRIMERAGENERACIN
Integraraplicacioneseramuydifcil(procesosbatch,importacinexportacin,etc). Programacionenlenguajesdeprimerageneracion:COBOL,
FORTRAN,PASCAL,C,ETC. Nocualquierapodaescribiraplicaciones. Notodostenanaccesoaunacomputadora.
http://es.wikipedia.org/wiki/Softwarehttp://es.wikipedia.org/wiki/Programa_%28computaci%C3%B3n%29http://es.wikipedia.org/wiki/Biblioteca_%28programaci%C3%B3n%29http://es.wikipedia.org/wiki/Lenguaje_interpretadohttps://www.youtube.com/watch?v=vuaxrIUae60 -
SEGUNDAGENERACIN
Ahorayaelusodelacomputadoranoeraprivilegiodeunospocos. Sepodrateneraplicacionesenunasolacomputadora(standalone).
TERCERAGENERACIN
SurgeelBOOMdeinternet,sesiguemezclandoelpoderdelascomputadorasdeescritorioconelusodeservidorespotentesparadarlesservicios.
Aparecennuevoslenguajescomo:Java,VisualBasic,ETC.
FRAMEWORKSPHP
Symfony:
Symfonysehaconvertidoenunodelosframeworksmsusadosenlaactualidadparaeldesarrollodeproyectosdecasicualquiertamao.Aligualquepartedelossiguientesframeworksponeenprcticaelpatrndediseomodelovistacontrolador,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.
Lapresentacinusatemplatesylayoutsquepuedenserconstruidospor
diseadoresdeHTMLquenoposeanconocimientosdelframework.
Losformulariossoportalavalidacinautomtica,locualaseguramejorcalidadde
losdatosenlasbasededatosyunamejorexperienciaparaelusuario.
Elmanejodecachreduceelusodebandaanchaylacargadelservidor.
Lafacilidaddesoportarautenticacinycredencialesfacilitalacreacindereas
restringidasymanejodeseguridaddelosusuarios.
ElenrutamientoylasURLsinteligenteshacenamigablelasdireccionesdelas
pginasdelaaplicacin.
Laslistassonmsamigables,yaquepermitelapaginacin,clasificacinyfiltraje
automticos.
Lospluginsproveenunaltoniveldeextensibilidad.
-
LainteraccinconAJAXesmuchomssencilla.
SILEX:
Silexesunmicroframework,oesonosquierenhacercreer,porqueesbastantecompletoensucometido.DesciendedirectamentedeSymfonyyvienetambindelamanodeSensioLabs.Incorporaelpatrnmodelovistacontroladordeunaformamuysimpledeusar,
mediantesusencillomtododeenrutamientoqueaportatotalflexibilidadenlaformaderecibirpeticiones.
KumbiaPHP:
PorfinllegamosaKumbiaPHP,elframeworkquereclamaronlamayoradelaspersonasquecomentaronennuestroanteriorrepasodeframeworks.Ysindudaloreclamabanycomentabansusbondadesdeformatotalmentefundada,KumbiaPHPesunframeworkrealizadoporlacomunidadhispanohablantequeincorpora,paraempezarMVC,aliandoconunalargaseriedeelementosquenosayudarnadesarrollarnuestrosproyectosmsrpido.Incorporaunsistemadecacheo,mapeoobjetorelacional,sistemadeplantillas,sistemaderutas,
generadordeformularios,componentesgrficosyanms.Sinduda,unabuenaopcin.
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,biendocumentadoyquecumplevariasfuncionesdeformasegura,eficienteymodular(siasloqueremos).Incorporaelmodelovistacontrolador,ademsdetenersistemaderutas,sistemadegeneracindeformulariosysistemadetraduccin.Incorporaunacapadecompatibilidadconbasesdedatosdedistintosproveedores,parahacerlosproyectosmsuniformesyfcilmenteportables.
-
APIGILITY:YdeloscreadoresdeZendFramework:Apigility,elframeworkperfectoparacrearAPIsparanuestrosproyectos,yaseanparaservirymanipularcontenidoportercerosoparafacilitarlamanipulacindelainformacinporpartedenuestrasaplicaciones.PermitecrearyconfigurardeformasimplemediantesugestorAPIsRESTfuloRPC,incorporandoademsvariossistemasdeautenticacinyfiltradodepeticiones.
KOHANA:
Kohanaestodouncajndesastre,incorporaademsdeMVCunsinfindefuncionescomplementarias,posicionndosecmounodelosmscompletos.Tieneunsistemadeusuariosyroles,sistemadecacheo,facilitaycompatibilizalainteraccincondistintasbasesdedatos,tienemodeladoparaelmapeoobjetorelacionalyunsistemademanipulacindeimgenes,entreotrascaractersticas.
WEBAPPLICATIONFRAMEWORKSUnframeworkdeaplicacioneswebesuntipodeframeworkquepermiteeldesarrollodesitioswebdinmicos,webservices(serviciosweb)yaplicacionesweb.Elpropsitodeestetipodeframeworkespermitiralosdesarrolladoresconstruiraplicacioneswebycentrarseenlosaspectosinteresantes,aliviandolatpicatarearepetitivaasociadaconpatronescomunesdedesarrolloweb.Lamayoradelosframeworksdeaplicacioneswebproporcionanlostiposdefuncionalidadbsicacomn,talescomosistemasdetemplates(plantillas),manejodesesionesdeusuario,interfacescomunesconeldiscooelalmacenamientoenbasededatosdecontenidocacheado,ypersistenciadedatos.Normalmente,losframeworksdeaplicacinwebademspromuevenlareutilizacinyconectividaddeloscomponentes,ascomolareutilizacindecdigo,ylaimplementacindebibliotecasparaelaccesoabasededatos.
https://www.apigility.org/ -
RubyonRails FrameworkMVCbasadoenRuby,orientadoaldesarrollodeaplicacionesweb
CodeIgniter PoderosoframeworkPHPlivianoyrpido
Kohana UnforkdeCodeIgniter,GraciasaSamuelpormencionarloenloscomentarios.
Django FrameworkPythonquepromueveeldesarrollorpidoyeldiseolimpio
CakePHP FrameworkMVCparaPHPdedesarrollorpido
ZendFramework FrameworkparaPHP5,simple,claroyopensource
Yii FrameworkPHPdealtorendimientobasadoencomponentes
Pylons FrameworkwebparaPythonqueenfatizalaflexibilidadyeldesarrollorpido
Catalyst FrameworkparaaplicacioneswebMVCelegante
Symfony Frameworkfullstack
TurboGears PrximageneracinconstruidosobrePylons
ElmsconocidopatrndediseodeaplicacioneswebeslaarquitecturaModelViewController(MVC:ModeloVistaControlador).UnModeloesunobjetoquerepresentadatosoinclusounaactividadenformadetablaenbasededatos.UnaVistaesalgntipodevisualizacindelestadodelmodelo,yunControladorofrecefunciones(herramientas)paracambiarelestadodelmodelo.
-
CakePHP:CakePHPesunframeworkparaeldesarrolloaplicacioneswebescritoenPHP,creadosobrelosconceptosdeRubyonRails.CakePHPempezen2005,cuandoRubyOnRailsestabaganandopopularidadyutilizamuchosdesusconceptos.Desdeentonceslacomunidadcreciygenermuchossubproyectos.
Principalescaractersticas:
CakePHPopastelPHPesunframeworkomarcodetrabajoquefacilitaeldesarrollode
aplicacionesweb,utilizandoelpatrndediseoMVC(ModeloVistaControlador).Esde
cdigoabiertoysedistribuyebajolicenciaMIT.
AligualqueRubyOnRails,CakePHPfacilitaalusuariolainteraccinconlabasededatos
medianteelusodeActiveRecord.AdemshaceusodelpatrnModeloVistaControlador.
CompatibleconPHP4yPHP5
CRUDdelabasededatosintegrado
URLsamigables
Sistemadeplantillasrpidoyflexible
AyudasparaAJAX,Javascript,HTML,formsyms
Trabajaencualquiersubdirectoriodelsitio
Validacinintegrada
Scaffoldingdelasaplicaciones
AccessControlLists
Sintetizacindedatos
Componentesdeseguridadysesin
Yii:
Yiiesunframeworkorientadoaobjetos,softwarelibre,dealtorendimiento
basadoencomponentes,PHPyframeworkparaaplicacionesweb.Yiisepronunciaenespaolcomoseescribeyesunacrnimopara"YesItIs!"(enespaol:Sloes!).
http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o -
ElproyectoYiicomenzel1deenerode2008,conelfindesolucionaralgunosproblemasconelframeworkPRADO.Porejemplo,PRADOeslentomanejandopginascomplejas,tieneunacurvadeaprendizajemuypronunciadaytienevarioscontrolesquedificultanlapersonalizacin,mientrasqueYiiesmuchomsfcilyeficiente.Enoctubrede2008despusde10mesesdetrabajoenprivado,laprimeraversinalfadeYiifuelanzada.El3dediciembredelmismoao,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.Estosignificaqueesposibleutilizardeformagratuitaparadesarrollarcualquieraplicacinwebdecdigoabiertoosoftwareprivativo.
EltextoquefiguraenladocumentacinoficialdeYiitienelicenciaparaelpblicobajola
GNUFreeDocumentationLicense(GFDL).Engeneral,elcontenidodeladocumentacinYii
puedesercopiado,modificadoyredistribuidosiempreycuandolanuevaversinde
subvencionesdelasmismaslibertadesalosdemsyreconozcaalosautoresdelartculode
ladocumentacinutilizadaYii.
EllogotipoestbajounalicenciaCreativeCommonsAtribucinNoDerivativeWorks3.0
Unported.
CATALYST:
Catalystesunaestructuradecdigolibreparaaplicacionesweb
escritoenPerl.SoportalaarquitecturaMVC,ascomosoporta
algunospatroneswebexperimentales.Estaltamenteinspiradoen
RubyonRails,MaypoleySpring.
CatalystpromueveelreutilizamientodelosmdulosdePerlqueyasoportanbienloque
requierenlaspginasWeb.
LaformaenqueCatalystsoportalaarquitecturaMVCeslasiguiente:
LapartedeModelo(Model)esmanejadapormediodeDBIx:Class,Plucene,Net::LDAPuotrasclasesmodelo.
LapartedeVista(View)esusualmentemanejadaporTemplateToolkit,MasonoHTML::Template.
-
LapartedeControl(Controller)esescritaporelautor,porsupuesto.Grandespedazosdefuncionalidadusualmentesepuedenconseguirconlospluginsde
Catalyst(ejemplo:Catalyst::Plugin::FormValidator,Catalyst::Plugin::Prototype,
Catalyst::Plugin::Account::AutoDiscovery,etc.).
CatalystproveeayudasparasimplificarelcontroldeflujoymapeodeURLsparalosmtodos
deControl.UnadelascaractersticasadestacaresqueCatalysttieneunagranvariedadde
pluginslocualfacilitasuutilizacin.
PERLesunlenguajedeprogramacindiseadoporLarryWallen1987.Perltoma
caractersticasdellenguajeC,dellenguajeinterpretadobourneshell(sh),AWK,sed,Lispy,
enungradoinferior,demuchosotroslenguajesdeprogramacin.
FRAMEWORKPHPMSUSADOSENEL2015
-
Bibliografia
1. Wikipediaparalainformacindelosframework.
2. http://elbauldelprogramador.com