Transcript
  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 1/18

    OBTENERHOSTINGDE$3.95/MOPLUSUNAOGRATISENTUTS+(PVP180dlares).OFERTALIMITADAPRISA.

    Categoras GuasdeAprendizaje Ayuda

    Cdigo

    Nuevo!

    Planificacinparaempezaratrabajarenunanuevaaplicacinweb?Enestetutorial,vamosadiscutircmocrearunaaplicacinwebAPIcntrica,yexplicarporquesesencialenelmundomultiplataformadehoy.

    Introduccin

    API?Paraaquellosquenoestnfamiliarizadosconeltrmino,laAPIeslaabreviaturadeInterfazdeprogramacindeaplicaciones.SegnWikipedia:

    Unainterfazdeprogramacindeaplicaciones(API)esunaespecificacinbasadacdigofuentedestinadoaserutilizadocomounainterfazporcomponentesdesoftwareparacomunicarseentres.UnaAPIpuedeincluirespecificacionespararutinas,estructurasdedatos,clasesdeobjetosyvariables.

    APIdevisualizacin

    Imagencortesadehttp://blog.zoho.com

    Entrminosmssimples,unaAPIserefiereaunconjuntodefuncionesintegradasenunaaplicacin,quepuedeserutilizadoporotrasaplicaciones(oporsmismo,comoveremosmsadelante),parainteractuarconlaaplicacin.UnaAPIesunagranmaneradeexponerlafuncionalidaddeunaaplicacinaaplicacionesexternasconseguridadydeformasegura,yaquetodaslasfuncionesqueestasaplicacionesexternaspuedenhacereslimitadaconqufuncionalidadseexponeenelAPI.

    PHP

    CreacindeunaaplicacinWebAPICentricporNikkoBautista 30dediciembre2011 159Comentarios

    35 15 38

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 2/18

    QuesunaaplicacinWeb"APICentric"?

    UnaaplicacinWebAPICentricesunaaplicacinwebquebsicamenteejecutalamayora,sinoesas,todasufuncionalidadatravsdellamadasalaAPI.

    UnaaplicacinWebAPICentricesunaaplicacinwebquebsicamenteejecutalamayora,sinoesas,todasufuncionalidadatravsdellamadasalaAPI.Porejemplo,siustedfueraaentraraunusuario,leenvasuscredencialesalaAPI,ylaAPIlevolveravosotrosresultadodiciendoquesielusuarioproporcionalacombinacindeusuariocontraseacorrecta.

    OtracaractersticadeunaaplicacinWebAPICentricesquelaAPIsersiempresinestado,loquesignificaquenopuedereconocerlasllamadasdelaAPIporsesin.DesdellamadasalaAPIseharnporlogeneralatravsdelcdigodefondo,queserdifcildeimplementarelmanejodesesiones,yaquenormalmentenohaygalletasinvolucradoseneso.Estalimitacinesrealmentebuenoesta"fuerza"aundesarrolladorparaconstruirunaAPIquenofuncionabasadoenelestadodelusuarioactual,sinomsbienenlafuncionalidad,queasuvez,hacequeseamsfcildeprobar,yaqueelestadoactualdeunusuarionoesnecesariovolveracrear.

    Porqupasarportodoesteproblema?Comodesarrolladoresweb,quehemosvistoevolucionarlatecnologadeprimeramano.Esdeconocimientocomnquelagentehoyendanosloseusanaplicacionesatravsdeunnavegador,sinoatravsdeotrosdispositivos,comolostelfonosmvilesytabletas.Porejemplo,esteartculoenMashable,titulado"LosconsumidoresahorapasarmstiempoenaplicacionesmvilesquelaWeb",afirma:

    Losconsumidoresestngastandomstiempoenaplicacionesmvilesqueenlawebporprimeravez,unnuevoinformeafirma.

    FlurrycomparsusdatosmvilesalasestadsticasdecomScoreyAlexa,yencontrqueenjunio,losconsumidoresgastaron81minutospordautilizandoaplicacionesmviles,encomparacincon74minutosdenavegacinenlaweb.

    HeaquunrecienteartculomsdeReadWriteWeb,titulado"MsgenteExaminarOnMobilequeelusodeIE6yIE7Combinada:

    LosltimosdatossobrelastendenciasdelnavegadordeSitepointmuestranquemspersonasnaveganporlaWebenlostelfonosinteligentesqueutilizanInternetExplorer6y7combinadas.Esosdoscacharrosviejoshansidolosespantajosdelosdesarrolladoreswebduranteaos,loquerequieresitiosdedegradartanbiencomoseaposibleparaqueeldenominadormenoscomndelosnavegadores.Peroesunmundonuevoahora6.95%delaactividadwebennoviembrede2011estabaenlosnavegadoresmviles,yslo6,49%estabaenIE6o7.

    Comopodemosverclaramente,msymspersonasobtienensusnoticiasdeespaciosalternativos,dispositivosespecficamentemviles.

    Qutieneestoqueverconmigolacreacindeuna

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 3/18

    aplicacinWebAPICentric?

    Estoconducirainevitablementeaunmayorusodenuestraaplicacin,yaquesepuedeutilizarencualquierlugarqueunapersonaquiere.

    UnadelasprincipalesventajasdecrearunaaplicacinAPIcntricaesqueayudaaconstruirlafuncionalidadquepuedeserutilizadoporcualquierdispositivo,yaseaunnavegador,untelfonomvil,unatableta,oinclusounaaplicacindeescritorio.TodoloquenecesitashacerescrearlaAPIdetalmaneraquetodosestosdispositivossepuedencomunicarconella,yvoil!Ustedhaconstruidounaaplicacincentralizadaquepuedetomarlaentradayejecutarlafuncionalidaddecualquierdispositivoqueunapersonatiene!

    APICentricDiagramadeaplicacin

    Mediantelacreacindeunaaplicacindeestamanera,somoscapacesdetomarventajadelosdiferentesmediosutilizadospordiferentespersonas.Estoconducirainevitablementeaunmayorusodeunaaplicacin,yaquesepuedeutilizarencualquierlugarqueunapersonaquiere.

    Pararemacharelclavo,aquestunartculoacercadelanuevapginawebrediseadadeTwitter,quenoshabladelaformaenqueahorautilizansuAPIparaalimentarTwitter.com,esencialmente,porloqueesAPIcntrico:

    UnodelosmsimportantescambiosenlaarquitecturaesqueTwitter.comesahoraunclientedenuestrapropiaAPI.Seobtienedatosdelosmismoscriteriosdevaloracinqueelsitiomvil,nuestrasaplicacionesparaiPhone,iPad,Android,ycadausodeaplicacionesdeterceros.EstecambionospermitiasignarmsrecursosalequipodeAPI,generandomsde40parches.Enlacargadelapginainicialycadallamadadesdeelcliente,todoslosdatossonahoraobtienendeunacachfragmentoJSONaltamenteoptimizado.

    Enestetutorial,vamosaestarcreandounaaplicacindelalistaTODOsimplequeesAPICentricycrearunclientefrontendenelnavegadorqueinteractaconnuestraaplicacinlistaTODO.Alfinal,ustedsabrlaspartesintegrantesdeunaaplicacinAPICentric,yalmismotiempo,laformadefacilitarlacomunicacinseguraentrelosdos.Conestoenmente,vamosaempezar!

    Paso1:Planifiquefuncionesdelaaplicacin

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 4/18

    LaaplicacinTODOestaremosconstruyendoenestetutorialtendrlasfuncionesbsicasCRUD:

    CrearTODOArtculosLeerTODOArtculosActualizacinArtculosTODO(renombrar,marcarcomohecho,marcarcomodeshecho)EliminarTODOArtculos

    CadatemTODOtendr:

    unTtulounaFechadevencimientounadescripcinunabanderaparadecirsielTODOartculoIsDoneVamosmaquetadelaaplicacin,asquetenemosunaguasobrelaformaquedebesersimilardespus:

    SimpleTODOMaqueta

    Paso2:CrearelservidorAPI

    YaqueestamosdesarrollandounaaplicacinAPICentric,estaremoscreandodos"proyectos":elservidorAPI,yelclientefrontend.VamosacomenzarconlacreacindelservidorAPIprimera.

    Enlacarpetadesuservidorweb,creeunacarpetaconelnombresimpletodo_api ,ycrearun index.php archivo.Esta index.php archivoactuarcomouncontroladorfrontalparalaAPI,asquetodaslaspeticionesalservidordelaAPIserrealizadaatravsdeestearchivo.breloyponerelsiguientecdigodentrode:

    010203040506

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 5/18

    Loqueesencialmentehemosconstruidoaquesuncontroladorfrontalsimplequehacelosiguiente:

    AceptarunallamadaalaAPIconcualquiernmerodeparmetrosExtraigael Controlador y Accin paralallamadaalaAPIHagaloscontrolesnecesariosparagarantizarqueel controlador y AccinexistenEjecutelallamadaalaAPIErroresdecaptura,ensucasoEnviarnuevounresultadoalapersonaquellama

    Ademsdela index.php archivo,creartrescarpetas:aloscontroladores,losmodelosylosdatosdelacarpeta.

    ElcontroladorescarpetacontendrtodosloscontroladoresquevaautilizarparaelservidorAPI.EstaremosconstruirloutilizandolaarquitecturaMVCpara

    0708091011121314151617181920212223242526272829303132333435363738394041424344454647484950

    include_once'modelos/TodoItem.php';//Envolvertodoenunbloquetrycatchparacapturarcualquierexcepcindescarriados!tratar{//ObtenertodoslosparmetrosenelPOST/GETsolicitud$Params=$_REQUEST;//Obtenerelcontroladoryformatearcorrectamenteporloqueelprimero//CartaessiemprecapitalizadoControlador$=ucfirst(strtolower($params['controlador']));//Obtenerlaaccinyformatearlocorrectamenteparatodoslos//cartasnosecapitalizan,yanexar'Accin'$Action=strtolower($params['action']).'Accin';//Comprobarsiexisteelcontrolador.sino,unaexcepcinsi(file_exists("controladores/{}$controlador.php")){include_once"controladores/{}$controlador.php";}otro{arrojarnuevaExcepcin('Controllernoesvlido.');}//Crearunanuevainstanciadelcontrolador,ypase//QuelosparmetrosdelapeticinControlador$=nuevocontroladorde$($params);//Comprobarsiexistelaaccinenelcontrolador.sino,unaexcepcin.si(method_exists(controlador$,$action)===false){arrojarnuevaExcepcin("Accinnoesvlido.');}//Ejecutarlaaccin$Resultado["datos"]=$controlador>$action();$Resultado['xito']=true;}catch(Exception$e){//Atraparexcepcionesyreportarelproblema$Resultado=array();$Resultado['xito']=false;$Resultado['errormsg']=$e>getMessage();}//EchoelresultadodelallamadaalaAPIecojson_encode($resultado);exit();

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 6/18

    hacerlaestructuradelfiltrodeservidordelaAPIymsorganizado.LamodeloscarpetacontendrtodoslosmodelosdedatosparaelservidorAPI.LadatosdecarpetaserdondeelservidorAPIguardalosdatos

    Iralacarpetadeloscontroladoresycrearunarchivollamado Todo.php .EstesernuestrocontroladorparacualquiertareadelalistaTODOrelacionados.ConlasfuncionesquevamosanecesitarparanuestraaplicacinTODOencuenta,creelosmtodosnecesariosparaelcontroladordeTodo:

    Ahora,agreguelafuncionalidadnecesariaparacada accin .Voyaofrecerelcdigodela createAction mtodoylodejoaustedparacrearelcdigoparalosotrosmtodos.Siustednoestdehumor,sinembargo,ustedpuededescargarelcdigofuentedelademoycopiardesdeall.

    Crear TodoItem.php dentrodel modelos decarpetasparaquepodamoscrearelcdigo"decreacindeobjetos".Tomenotadequenosevaaconectaraunabasededatos,msbien,voyaserelahorrodelainformacinenlosarchivos.Deberaserrelativamentefcil,sinembargoparaqueestofuncioneconcualquierbasededatos.

    010203040506070809101112131415161718192021222324252627282930

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 7/18

    El createAction mtodollamadosfuncionesenla TodoItem modelo:

    save()estoahorrael TodoItem enunarchivo,ascomoestablecereltodo_id parael TodoItem siesnecesariotoArray()estodevuelveunaversinmatrizdel TodoItem ,dondelasvariablessonndicesdelamatriz

    DadoquelaAPIsellamaatravsdepeticionesHTTP,vamosaprobarquelallamadaalaAPIllamandoatravsdelnavegador:

    http://localhost/simpletodo_api/?controller=todo&action=create&title=test%20title&description=test%20description&due_date=12/08/2011&username=nikko&userpass=test1234

    Sitodofuncion,deberaverunanuevacarpetadentrodela datosde carpeta,ydentrodeesacarpeta,deberaverunarchivoconelsiguientecontenido:

    0708091011121314151617181920212223242526272829303132333435363738394041424344454647484950

    pblica$Descripcin;pblica$due_date;pblica$is_done;pblicafuncinsave($usuario,$userpass){//Obtenerelnombredeusuario/contraseadehash$Userhash=sha1("{$username}_{}$userpass");si(is_dir(DATA_PATH."/{$userhash}")===false){mkdir(DATA_PATH."/{$userhash}");}//Silos$todo_idnoestanestablecido,significaquetenemosquecrearunnuevoelementoTODOsi(is_null($this>todo_id)||is_numeric($this>todo_id)){//ElidTODOeslahoraactual$This>todo_id=time();}//ObtenerlaversindeseriedeesteartculoTODO$Todo_item_array=$this>toArray();//Guardarlaversinserieserializadoenunarchivo$xito=file_put_contents(.DATA_PATH"/{$userhash}/{$this>todo_id}.txt"//Sielahorronotuvoxito,unaexcepcinsi($xito===false){arrojarnuevaExcepcin("ErroralguardarTODOtema');}//Devuelvelaversindeseriedevolver$todo_item_array;}pblicafuncintoArray(){//DevuelveunaversinmatrizdelelementoTODOvolvermatriz('Todo_id'=>$this>todo_id,'Ttulo'=>$this>ttulo,'Description'=>$this>descripcin,'Due_date'=>$this>due_date,'Is_done'=>$this>is_done);}}

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 8/18

    createAction() resultado

    Enhorabuena!UstedhacreadoconxitounservidorAPIehizounallamadaalaAPI!

    Paso3:AsegureelservidorAPIconun IDAPP yAPPSECRETO

    Actualmente,elservidorAPIestconfiguradoparaaceptarTODASlassolicitudesdelAPI.Tendremosquelimitarloaslonuestraspropiasaplicaciones,paragarantizarqueslonuestrospropiosclientesfrontendsoncapacesdehacerlassolicitudesdelAPI.Alternativamente,ustedpuedecrearunsistemaenelquelosusuariospuedencrearsuspropiasaplicacionesquetienenaccesoasuservidorAPI,similaralaformaenFacebookyaplicacionesdeTwitterfuncionan.

    ComienceporlacreacindeunconjuntodeparesidclaveparalosclientesquevayanautilizarelservidorAPI.Dadoqueestaesslounademo,podemosusarcualquier,32seriedecaracteresaleatorios.Parala APPID ,digamosqueeslaaplicacinAPP001.

    Abraelindex.phparchivodenuevo,yluegoactualizarloconelsiguientecdigo:

    Loquehemoshechoaquesrealmenteponerenprcticaunaformamuysencilladeautenticarclientesfrontendutilizandounsistemasimilaralaautenticacindeclavepblicaprivada.Bsicamente,aquesteldesglosepasoapasodecmosucedelaautenticacin:

    0102030405060708091011121314151617181920212223242526272829303132333435363738

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 9/18

    Cifradodeclavepblica

    unallamadaalaAPIsehace,enellaun$app_idy$enc_requestseproporciona.el$enc_requestvaloreslosparmetrosdellamadaAPI,ciframediante APPCLAVE .La APPCLAVE seNUNCAenvaalservidor,sloseusaparadiscutirlasolicitud.Adems,lasolicitudslopuedeserdescifradousandola CLAVEAPP .unavezquelallamadaalaAPIllegaalservidorAPI,comprobarsupropialistadeaplicacionesparael IDdeaplicacin previstoscuandoseencuentran,elintentodelservidorAPIparadescifrarlasolicitudutilizandolaclavequecoincideconel IDAPP enviadosituvoxitoendescifrarlo,yluegocontinuarconelprograma

    AhoraqueelservidordelaAPIseaseguraconun IDAPP y APPSECRETO ,podemosempezaraprogramarunclientefrontendparautilizarelservidorAPI.

    Anuncio

    Paso4:CrearelclienteBrowserFrontend

    Comenzaremoscreandounanuevacarpetaparaelclientefrontend.Crearunacarpetallamada simpletodo_client_browser enlacarpetadesuservidorweb.Cuandosehaceeso,crearunaindex.phparchivoyponerestecdigoenelinterior:

    0102030405060708

    SimpleTODO

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 10/18

    Esodeberaseralgocomoesto:

    SimpleTODOpginadeentrada

    Tomenotadequeheincluido2archivosJavaScriptyCSS2archivosaqu:

    reset.csseslasecuenciadecomandosderestablecimientoCSSestndar.Yousoelrestablecimientocssmeyerweb.com.bootstrap.min.csseselTwitterBootstrapjquery.min.jseslaltimalibrerajQueryjqueryui8.1.16.custom.min.jseslaltimalibrerajQueryUI

    Acontinuacin,vamosacrearel login.php archivodemodoquealmacenamoselnombredeusuarioycontraseadentrodeunasesinenelcliente.

    09101112131415161718192021222324252627282930313233343536373839404142434445464748

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 11/18

    Aqu,simplementeempezamosunasesinparaelusuario,basadoenlacombinacindenombredeusuarioylacontraseaqueelusuariovaadar.Estoactacomounallavedecombinacinsencilla,loquepermitiralusuarioaccederaelementosTODOalmacenadosparaunacombinacinespecficadetantoelnombredeusuarioycontrasea.Acontinuacin,redirigimosa todo.php ,dondeempezamoslainteraccinconelservidordelaAPI.Antesdeempezaracodificareltodo.php archivoembargo,primerovamosacrearunApiCallerclase,queencapsulartodoslosmtodosdelaAPIllamandoquenecesitaremos,incluyendolaencriptacindelassolicitudes.

    Crear apicaller.php yponerlosiguienteenelinterior:

    Usaremosla ApiCaller claseparaenviarpeticionesanuestroservidorAPI.Deestamanera,todoelcifradonecesarioycURLcdigodeinicializacinserenunsololugar,ynotendrquerepetirnuestrocdigo.

    11 header("Location:todo.php');exit();

    01020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 12/18

    el __construct funcintomatresparmetros:1. $App_idel IDAPP paraelcliente(queesAPP001paraelclientedel

    navegador)2. $App_keyla CLAVEAPP paraelcliente(quees

    28e336ac6c9423d946ba02d19c6a2632paraelclientedelnavegador)3. $Api_urlladireccinURLdelservidordelaAPI,quees http://

    localhost/simpletodo_api/

    el ()sendRequest funcin:1. encriptalosparmetrosdelapeticinutilizandoel mcrypt bibliotecade

    lamismaformaqueelservidorAPIdescifra2. generael _POST$ parmetrosaserenviadosalservidorAPI3. ejecutalallamadaalaAPIatravsdeCURL4. compruebaelresultadodelallamadaalaAPIseharealizado

    correctamenteono5. devuelvelosdatoscuandotodosalisegnloplaneado

    Ahora,vamosaempezarconel todo.php pgina.Enprimerlugar,vamosacrearalgodecdigopararecuperarlalistadetareaspendientesactualdeartculosparaelusuario Nikko conlacontrasea test1234 (estaeslacombinacinusuario/contraseaqueusamosantesparaprobarelservidorAPI).

    Irala index.php pgina,registradocomoNikko/test1234,yusteddeberaverunvar_dump() deltemTODOhemoscreadoantes.

    Felicidades,hanhechoconxitounallamadaalaAPIalservidordeAPI!Enestecdigo,tenemos:

    iniciadolasesinporloquetenemosaccesoal nombredeusuario yuserpass en $_SESSIONinstanciadounnuevo ApiCaller clase,dndoleel IDAPP , APPCLAVE yladireccinURLdelservidordelaAPIenviarunasolicitudatravsdela sendRequest() mtodo

    Ahora,vamosaformatearlainformacinparaqueseveamejor.AgregueelsiguientecdigoHTMLenla todo.php cdigo.Noseolvidedequitarel var_dump() !

    010203040506070809101112131415

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 13/18

    001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067068069070071072073074075076077078079080081082083084085086087

    SimpleTODO

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 14/18

    Ahoradeberaseralgocomoesto:

    Bastantebieneh?Peroestemomento,nohacenada,asquevamosaempezaraaadiralgunasfunciones.Voyaofrecerelcdigopara new_todo.php ,quellamaral todo/crear llamadaalaAPIparacrearunnuevoelementodeTODO.Lacreacindelasotraspginas( update_todo.php y delete_todo.php )debesermuysimilaraste,asquevoyadejaraustedparacrearesos.Abre new_todo.phpyagregueelsiguientecdigo:

    Comosepuedever,el new_todo.php pginautilizael ApiCaller nuevoparafacilitarelenvodeltodo/crearsolicitudalservidorAPI.Estobsicamentehacelomismoqueantes:

    iniciarunasesinporloquetieneaccesoal nombredeusuario$ y $userpass guardadoenel $_SESSIONinstanciarunnuevo ApiCaller clase,dndoleel IDAPP , APPCLAVE yladireccinURLdelservidordelaAPIenviarlasolicitudatravsdela sendRequest() mtodo

    088089090091092093094095096097098099100101102103104

    01020304050607080910111213141516171819

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 15/18

    Anuncio

    redirigirdenuevoa todo.php

    Felicidades,funciona!UstedhacreadoconxitounaaplicacinAPIcntrica!

    Conclusin

    HaytantasventajasparaeldesarrollodeunaaplicacinqueseconstruyealrededordeunaAPI.QuierescrearunaversindelaaplicacinAndroiddeSimpleTODO?TodalafuncionalidadquesenecesitayaestenelservidorAPI,porloquetodoloquetienequehacerescrearelcliente!Quieresrefactorizaruoptimizaralgunasdelasclases?Nohayproblemasloasegresedequelasalidaeslamisma.Necesidaddeaadirmsfuncionalidad?Puedeshacerlowihtoutafectaraningunadecdigosdelcliente!

    Aunquehayalgunasdesventajas,comolostiemposdedesarrollomslargosomscomplejidad,lasventajasdedesarrollarunaaplicacinwebdeestamaneraoutweightengranmedidalasdesventajas.Tododependedenosotrosparaaprovecharenestetipodedesarrollohoyparaquepodamoscosecharlosbeneficiosmsadelante.

    EstpensandoenutilizarunservidorAPIparalaaplicacinWebsiguiente,oyausadolamismatcnicaparaunproyectoenelpasado?Hzmelosaberenloscomentarios!

    Dificultad:Intermedio

    Longitud:Largo

    Categoras:

    PHP DesarrolloWeb

    Traducciones:

    Tuts+tutorialessontraducidosaotrosidiomaspornuestrosmiembrosdelacomunidadpuedeparticipartambin!

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 16/18

    Anuncio

    Tutssugeridos+Curso

    TutorialesRelacionados

    Empleos

    EnvatoMercadoartculo

    Traduciresteartculo

    Descargararchivoadjunto

    AcercadeNikkoBautista

    +AmpliarBio

    EstoyNikkoBautista.Duranteelda,yotrabajocomoingenierodesoftwareenBright.com,donderealizamoslacontratacinmsinteligente,msrpidoymsbarato.Porlanoche,desarrollodeaplicacioneswebyescribirtutorialesparaTuts+.NacycrecenlaPerladeOriente,Filipinas.En2012,metrasladalotroladodelmundoyterminenelcorazndelcentrodeSanFrancisco,dondelaculturaylaenergasonincomparables.Es,sinlugaradudas,elmejorlugarparaser

    ingeniero.MeespecializoenlosmarcosdePHPyPHP.TengoexperienciaconSymfony,ZendFramework,CodeIgniter,FuelPHPylaravel.MegustacrearymantenerAPIsparadesarrolladoresdeusar.TambintengoexperienciaenAPIsdetercerosdeFacebook,Twitter,Googleyotrasplataformas.Amenudomeexploronuevastecnologas,losmarcosylosservicioswebmediantelaconstruccindeaplicacioneswebquelasutilizan.Tuts+mepermitecompartirloqueheaprendidoconelmundo.Enmitiempolibre,meencantaaprenderyleeracercadelasnuevastecnologas,lasinnovacionesylaweb.Tambinmegustaprobarnuevosrestaurantes,probarprobarwhiskies,dar

    AvanzadaPOOEnPHPconlaspruebasde 15dlares

    Elusodelaravel5AutenticacinFachadaCdigo

    ConstruccindesuinicioconPHP:PlanificacindeunareuninCdigo

    CrearunPluginLicenciacontroladaytemticodeactualizacindelsistema,Parte3:HacerlaactualizacinCdigo

    DesarrolladordeWordPress(remoto)enSouthBendDiseoenSanFrancisco,CA,EE.UU.

    VisualDiseoInstructorenTuts+ennulo

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 17/18

    19652 Tutoriales 535 CursosdeVideo

    Serviciosdeencargodigitalescomodiseodelogotipos,instalacindeWordPress,produccindevdeoymuchoms.

    MiraEnvatoEstudio

    Disquspareceestartomandomstiempodelohabitual.Recargar?

    Anuncio

    Laenseanzadehabilidadesamillonesentodoelmundo.

    Sguenos

    Ayudayapoyo

    PFCondicionesdeusoComunqueseconelsoporteAcercaTuts+AnunciarEnseeaTuts+TraducirparaTuts+Meetup

    Boletinesdecorreoelectrnico

    ObtnTuts+actualizaciones,noticias,encuestasyofertas.

    EmailAddress

    Suscribir

    PolticaDePrivacidad

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 18/18

    Construyecualquiercosa,desdelasredessocialesparapresentarlossistemasdecarga.ConstruirmsrpidoconscriptsPHPprecodificadas.

    NavegarPHPenCodeCanyon

    2015EnvatoPtyLtd.Marcascomercialesymarcassonpropiedaddesusrespectivosdueos.


Top Related