Un sencillo ejemplo de como implementar jsonp para ajax cross domain en PHP:
Categoría: programación
Instalar Cordova en Ubuntu 14.10 para programa aplicaciones Android
Apache Cordova es el framework de desarrollo de aplicaciones para móviles multiplataforma que está detrás de phonegap. Vamos a ver como instalarlo en la última Ubuntu para empezar a trabajar con el desarrollando una app para Android. | ![]() |
Lo primero es instalar node.js (el lenguaje en que el que está programado cordova) y npm (el gestor de paquetes que usa node)
sudo apt-get install nodejs npm
Necesitamos lincar el ejecutanel de nodejs con el nombre node para que luego no falle cordova
sudo ln -s /usr/bin/nodejs /usr/bin/node
Instalamos cordova con npm
sudo npm install -g cordova
Ahora hay que Instalar JAVA y el compilador ant
sudo apt-get install openjdk-8-jdk openjdk-8-jre ant
Nos bajamos el SDK de android
https://developer.android.com/sdk/index.html
Los descomprimimos y establecemos la variable de entorno ANDROID_HOME a donde lo hayamos descomprimido:
echo 'export ANDROID_HOME="/home/patataman/android-sdk-linux/"' >> ~/.bashrc ; . ~/.bashrc
Lanzamos el gestor del sdk para instalar la versión que queramos (la API 19 de Android 4.4.2 nos irá bien)
$ANDROID_HOME/tools/android
Después de instalar el SDK y si queremos emular un android tendremos que crear un emulador. Para ello en el gestor del sdk del paso anterior vamos a Tools>Manage AVDs y creamos una imagen con los parámetros que más nos convengan.
Y ya estamos listo para crear, compilar y ejecutar una aplicación cordova en Android y comprobarq ue todo funciona:
cordova create hello com.example.hello HelloWorld cd hello cordova platform add android cordova run android
Introducción a flexbox
Flexbox es un esquema de diseño CSS3 para que los elementos de una «caja» encajen de manera flexible ocupando toda la pantalla adaptándose a distintos tipos de dispositivos (caballo de batalla de hoy en dÃa e el diseño web). Es un candidato a estándar en W3C asà que habrá que seguirle la pista. Para empezar una buena guÃa es la que hay en css-tricks
Empezar con AngularJS: tu primera app
Uno de mis tema pendientes es hacer alguna prueba con angularjs y la separacion entre frontend y backend. Este artÃculo para bastante interesante:
http://www.toptal.com/angular-js/a-step-by-step-guide-to-your-first-angularjs-app
Aplicación Django para subida de ficheros
Buscando cosas para un proyecto he encontrado esta app/módulo para la carga de ficheros en una aplicación web usando las últimas técnicas de manera que la carga sea sencilla y visual.
http://blueimp.github.io/jQuery-File-Upload/index.html
Nos permite una carga archivos vÃa drag&drop, pre-visualizarlos, validar su carga y nos muestra una barra de progreso mientras sube. Y todo con un aspecto bootstrap muy agradable (o si lo queremos lquery ui).
El código está en github como no:
WebRTC: videoconferencia y más en HTML5
HTML5 más que con un pan debajo del brazo trae una panaderÃa completa! una de las cosas más golosas es las posibilidad de RTC con WebRTC que trae las conexiones RTC, canales peertopeer para transmitir sin pasar por el servidor y getusermedia para capturar vÃdeo.
Hay varios proyectos por ahà que lo usan. Uno es https://talky.io/ que tiene liberado parte de sus componentes:
- SimpleWebRTC: http://simplewebrtc.com/ Es la liberÃa JS que usa para acceder a la capacidades WebRTC de navegadores modernos.
- Tenemos la parte cliente: https://github.com/HenrikJoreteg/SimpleWebRTC
- Y la parte server: https://github.com/andyet/signalmaster
- Para el server vamos a necesitar: http://nodejs.org/
- También puede interesar: http://socket.io/
- Otra opción: https://github.com/webRTC/webRTC.io
Solucionar probema usando googlemaps con Twitter Bootstrap
El framework de frontend Bootstrap es cada dÃa más popular. Pero no todo son bondades y con Google Maps da un poco de gerra. Al poner un gmaps en nuestra web basada en bootstrap no vemos correctamente ni los controles del mapa ni los infowindows-s. Googleando es fácil dar con la solución. Está muy bien explicado en:
http://vuknikolic.wordpress.com/2012/04/02/twitter-bootstrap-and-google-maps-v3/
La solución pasa por añadir en nuestro css:
#gmap img {
max-width: none;
}
Vagrant: virtualización para desarrolladores
Durante el desarrollo de aplicaciones (sobre todo webapps en php y python) siempre nos encontramos con el problema de tener unificados los entornos de desarrollo y los de producción/preproducción. A los sysadmins siempre nos toca pelearnos con dependencias no contempladas o versiones de librerÃas que sà están en el los entornos de desarrollo pero no en los de prod. Vamos, un infierno. Para solucionarlo la virtualización nos da infinidad de opciones, pero a veces es un poco lÃo poner en marcha un entorno de desarrollo virtualizidado unificado. Valgrant nos da una capa de abstracción y de sencillez a todo el proceso:
$ vagrant box add base http://files.vagrantup.com/lucid32.box
$ vagrant init
$ vagrant up
Más información en su web: http://vagrantup.com/
web2py en una sub url
Si queremos que web2py funciones en una dirección del tipo:
http://midominio.com/web2py/
Es necesario que creemos (o copiemos del ejemplo) el fichero routes.py con un contenido similar a:
routes_in=(('/web2py/(?P<a>.*)','/\g<a>'),)
routes_out=(('/(?P<a>.*)','/web2py/\g<a>'),)
Patrones de diseño en JavaScript
Los patrones de diseño son soluciones reusables a problemas de programación comunes. Nos permiten ahorrar tiempo y aprender más sobre un lenguaje. JavaScript cada dÃa tiene más usos (ahora con las plataformas multidispositivo para aplicaciones móviles por ejemplo) y la comunidad se está poniendo las pilas:
http://addyosmani.com/resources/essentialjsdesignpatterns/book/