Buscando artículos sobre " Programación"
6-diciembre-2013
admin

Obtener los parametros de las urls con javascript

Ejemplo 1:

function getURLvar(var_name){
  var re = new RegExp(var_name + "(?:=([^&]*))?", "i");
  var pm = re.exec(decodeURIComponent(location.search));
  if(pm === null) return undefined;
  return pm[1] || "";
}

//Ejemplo de uso:
//Suponiendo que la URL es http://www.unsitio.com/pagina.html?s=5
alert(getURLvar('s')); //Muestra 5

* La función devolverá undefined si no existe la variable, y cadena vacía en caso de que exista pero no contenga ningún valor

Ejemplo 2:

(function (){
  window.$GET = [];
  if(locaction.search){
    var params = decodeURIComponent(location.search)
                              .match(/[a-z_]\w*(?:=[^&]*)?/gi);
    if(params){
      var pm, i = 0;
      for(; i < params.length; i++){
        pm = params[i].split('=');
        $GET[pm[0]] = pm[1] || '';
      }
    }
  }
})();

//Ejemplo de uso:
//Suponiendo que la URL es http://www.unsitio.com/pagina.html?s=5
alert( $GET['s'] );  //Muestra 5

Fuente

6-diciembre-2013
admin

Consumir un Web Service con Ajax

Cómo ejemplo utilizaré un servicio soap que tengo creado con NUSOAP. http://genparte.disastercode.com.es/ws/servicioWsdl.php?wsdl

Se hace una petición al método getCalendarFestive del ws. A este método se le debe pasar un parámetro de entrada strName.

Tras hacer la petición, si todo va bien se ejecutará el evento success donde rellenamos un array con la información obtenida.

var soapMessage =
	'< soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'+
		'< soap:Body>'+
			'< getCalendarFestive xmlns="http://genparte.disastercode.com.es">'+
				'< strName>.....< /strName>'+
			'< /getCalendarFestive>'+
		'< /soap:Body>'+
	'< /soap:Envelope>';

$.ajax({
	url: 'http://genparte.disastercode.com.es/ws/servicioWsdl.php?wsdl', 
	type: "POST",
	dataType: "xml", 
	contentType: "text/xml",
	data: soapMessage, 
	success: function(data, status, req, xml, xmlHttpRequest, responseXML) {
		$(req.responseXML).find('return').each(function(){
		
			if( $(this).find('type')){
				var total = $(this).find("type").length;
				var days = new Array();
				for(i= 0; i < total; i++)  {
					var strType = $(this).find("type")[i].childNodes[0].nodeValue;
					var strDate = $(this).find("date")[i].childNodes[0].nodeValue;
					days[i] = strDate;
				}
			}
		});
	}, 
	error: function processError(data, status, req) {
		console.log(data);
		console.log(status);
		console.log(req);
	}
});

6-diciembre-2013
admin

Generador de partes de trabajo

Aplicación web que te genera los partes de horas mensuales en formato *.xls

DEMO: http://genparte.disastercode.com.es

GitHub: https://github.com/roberto-pf/GenParte

Tecnologías empleadas:
– Plugin Fullcalendar de Jquery para implementar el calendario.http://arshaw.com/fullcalendar/

– Nusoap, como servidor web para los días festivos.http://sourceforge.net/projects/nusoap/

– PHPExcel, como librería para generar la hoja de excel.http://phpexcel.codeplex.com/

– Diseño formularios:
Formly -> http://thrivingkings.com/read/Formly-The-form-glamorizer-for-jQuery
NiceForms -> http://www.emblematiq.com/lab/niceforms/

Pantalla Principal

Hoja de excel generada

17-noviembre-2013
admin

Android Web Generator

Ahora puedes convertir una página web (Responsive web design) en una aplicación Android con solamente usar la URL de la página.

La aplicación resultante funcionará sin problemas como mínimo en todos los dispositivos android 2.2 o superior. Y tendrá la siguiente estructura:

Android Web Generator Diseño

Para ello tienes que bajarte estos dos proyectos preparados para el eclipse de mi repositorio de GitHub:

Proyecto AppWebGenerator
Este proyecto es el que contiene la aplicación android resultante. Se deben seguir los siguientes sencillos pasos:

  • Paso 1:
    •   – Renombrar el nombre del proyecto por el nombre que prefieras.
    •   – Renombrar el nombre del pakete es.com.disastercode.appwebgenerator
    •   – Renombrar el nombre del pakete es.com.disastercode.appwebgenerator.menu
    •  
    •  Nota: hacerlo en este orden y usar el refactor que proporciona el eclipse.
    •  
    •  
  • Paso 2:
    •   Ir a res/values/strings.xml y dar valor a las siguientes variables:
    •   URL_DIR -> será la dirección web de la página que se quiere usar como si fuera una aplicación.
    •   TITLE_APP -> título que quieres que aparezca en la barra superior.
    •   myAdUnitId -> si deseas ponerle publicidad de admob aquí va el código de anuncio que corresponda. Dejarlo en blanco si no deseas que salga publicidad.
  •  
  •  
  • Paso 3:
    •   Sustituir las imágenes ic_launcher.png de los directorios, por las del logo que tendrá tu aplicación:
    •   – res/drawable-hdpi
    •   – res/drawable-ldpi
    •   – res/drawable-mdpi
    •   – res/drawable-xhdpi
    •   – res/drawable-xxhdpi
    •  
    • Es recomendable sustituirlos por otros que tengan el mismo tamaño.
    •  
    •  

Proyecto library
Este proyecto contiene la version 4.2 del actionbarsherlock.
Más info en: http://actionbarsherlock.com/

Se usa esta barra para la parte superior de la aplicación. Si se desea cambiar el color se configura en el fichero res/drawable/background.xml

Ejemplo de uso:

Web EcoDom: http://disastercode.com.es/appecodom
Se trata de una web (responsive web design) para llevar un control de gastos. Está realizada con el Framework de PHP Codeigniter junto con la extension Grocery Crud.
Además, se ha utilizado para dibujar las gráficas con estadísticas la libreria JGraph.

Aplicación android resultante

16-noviembre-2013
admin

Async.js

Async es un módulo que proporciona funciones de gran alcance para trabajar con JavaScript asíncrono. Aunque originalmente fue diseñado solamente para su uso con Node.js, también puede ser utilizado directamente en el navegador.

Async proporciona alrededor de 20 funciones que incluyen los sospechosos habituales (map, reduce, filter, each…), así como algunos patrones comunes de control de flujo asíncrono (parallel, series, waterfall…).

Todas estas funciones se supone que siguen la convención Node.js de proporcionar una devolución de llamada como el último argumento de la función asíncrona.

GitHub Async

10-noviembre-2013
admin

Encapsulación en JS sin usar «this»

Este sería un ejemplo donde se crea una clase en js sin necesidad de usar el objeto this ni prototype.

function ejemplo(){
	var obj = {};	//Variables y métodos públicos
	
	var n = 1;	//variables privadas

	function prueba(){}	//funcion privada

	obj.bar = function(){}	//método público

	return obj;
}

9-noviembre-2013
admin

Javascript para micro-controladores

Tessel: también conocido como Technical.io, es un proyecto de Hardware Open-Source que consiste en un micro-controlador, del estilo a Arduino, pero programable con JavaScript, demostrando una vez más la versatilidad de este lenguaje de programación ya presente en todas las partes del desarrollo web.

Tessel corre directamente Javascript sin la necesidad de un servidor, así que podremos usar nuestras propias librerías o librerías externas como (node.js) para nuestros proyectos, justo como si estuviésemos desarrollando una Web, también promete actualizaciones de firmware tan sencillo como “tessel push“.

Además de la placa y la MicroSD, se han desarrollado diferentes módulos para añadirle más funcionalidad como son el acelerómetro, un chip RFID, audio, bluetooth, un servo-motor, relés, y sensores de temperatura y humedad. Se programa directamente desde un USB.
Ver en: http://tessel.io/

Espruino: Se trata de un clon de Arduino que puede programarse con JavaScript. Las aplicaciones no necesitan ser compiladas y se pueden ejecutar, haciendo cambios sobre la marcha.
Ver en: http://www.espruino.com/


Más Info

3-noviembre-2013
admin

Patrones de Diseño que se pueden usar en Android

Adapter
Éste patrón se encarga de adaptar clases de interfaz incompatible para que trabajen de manera conjunta. Un ejemplo claro es cuando tenemos que hacer uso de alguna librería, pero surge la necesidad de adaptarse a ella. Nuestras opciones inmediatas son: o nosotros nos adaptamos a ella, o ella a nosotros. Lo mejor en éstos casos es crear un objeto que adapte tanto lo nuestro a lo de ella, como lo de ella a nosotros.
Ejemplo de Uso

Memento
Es un patrón de diseño, cuya finalidad es almacenar el estado de un objeto (o del sistema completo) en un momento dado de manera que se pueda restaurar en ese punto de manera sencilla. Para ello se mantiene almacenado el estado del objeto para un instante de tiempo en una clase independiente de aquella a la que pertenece el objeto (pero sin romper la encapsulación), de forma que ese recuerdo permita que el objeto sea modificado y pueda volver a su estado anterior.
Ejemplo de Uso

Chain of Responsability
Es un patrón de comportamiento que evita acoplar el emisor de una petición a su receptor dando a más de un objeto la posibilidad de responder a una petición. Para ello, se encadenan los receptores y pasa la petición a través de la cadena hasta que es procesada por algún objeto. Este patrón es utilizado a menudo en el contexto de las interfaces gráficas de usuario donde un objeto puede contener varios objetos. Según si el ambiente de ventanas genera eventos, los objetos los manejan o los pasan.
Ejemplo de Uso

MVC
En Android se puede utilizar el patrón de arquitectura llamado Modelo Vista Controlador (MVC) cuya principal bondad consiste en separar los datos de una aplicación, la interfaz de usuario y la lógica de negocios en tres componentes distintos que se relacionarán para al final tener como resultado nuestra aplicación.
Más info.

Renderer (Builder, delegate, Template Method)
Este patrón desacopla el proceso de pintado de elementos heterogéneos en una lista. El patrón renderer es una combinación de tres patrones.
Builder
Delegate
Template Method

Repository
Abstrae el origen de datos de un sistema con posibles fuentes de información.
Ver Aquí

Command
Este patrón permite solicitar una operación a un objeto sin conocer realmente el contenido de esta operación, ni el receptor real de la misma. Para ello se encapsula la petición como un objeto, con lo que además se facilita la parametrización de los métodos.
Ejemplo de Uso

2-noviembre-2013
admin

Portales para búsqueda de empleo TIC


  • InfoJobs
    InfoJobs es la bolsa de empleo online líder en el mercado español, tanto por el número de visitantes de su web, como por el volumen de ofertas de empleo … Destacar que ahora también disponden de una zona para freelance.
  • TecnoEmpleo
    Se trata de un portal de Empleo Especializado en Informática Telecomunicaciones y Tecnologías.
  • TicJob
    Se trata de un innovador portal de empleo y de gestión de carrera, dedicado exclusivamente a los perfiles TIC.
  • Opcion Empleo
    Se trata de un buscador de buscadores. Busca empleos en España en mas de 10.000 páginas web distintas.
  • Trabajo Freelance
    Publicación de proyectos y presupuestos en general. Búsqueda de trabajadores independientes (freelance) y empresas proveedoras de servicios en… Es uno de los mejores sitios para conseguir proyectos.
  • Nubelo
    Plataforma de servicios freelance líder en países de habla hispana.

Destacar este blog donde llevan un listado con todas las mejores webs para conseguir trabajos como freelance. Está bastante actualizada:
http://blogdesarrollo.com/sitios-web-para-conseguir-trabajos-freelance/

1-noviembre-2013
admin

Sencha Touch

Se trata de un framework para HTML5 que está pensado para desarrollar aplicaciones web para dispositivos móviles. Además, consigue efectos que aparentan ser los nativos tanto de dispositivos iOS como Android.

Sencha Touch nos permite aprovechar la potencia y flexibilidad de HTML5, CSS3 y JavaScript. Para ello hace uso de los nuevos elementos disponibles en la nueva especificación del estándar para utilizar video, audio, guardar datos offline. También consta de una librería con múltiples widgets de usuario y control para los eventos táctiles de los dispositivos. Además de los métodos estándares de eventos como touchstart y touchend, el framework añade una extensa lista de eventos útiles como tap, double tap o rotate entre muchos otros.

Enlaces de interes:
Sencha Touch
Documentación
Ejemplos
Tutoriales
Integración de Sencha Touch con PhoneGap

Páginas:«1...789101112131415»

Categorias

Linkedin