View
20
Download
1
Category
Preview:
DESCRIPTION
Se detalla la creacion de un APi- Centric
Citation preview
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.
Recommended