Para desarrollar aplicaciones en dispositivos móviles tenemos numerosas posibilidades en cuanto a lenguajes, plataformas y entornos de desarrollo. Principalmente, hay dos opciones: crear aplicaciones nativas para cada dispositivo con su respectivo lenguaje o crear una ‘webapp‘ compatible para HTML5, un lenguaje de marcado que está en auge debido a las numerosas funcionalidades que a dia de hoy ofrece. En esta entrada vamos a explicar como empezar a utilizar uno de los más recientes frameworks para aplicaciones móviles, LungoJS, un gran trabajo de desarrollo de la mano de Javier Jiménez que está mantenido por el propio Javier Jiménez y Guillermo Pascual (TapQuo).
LungoJS: La sencillez de lo estándar
LungoJs basa su filosofía en crear aplicaciones partiendo de la premisa de utilizar todo el potencial de los estándares de la industria web mas recientes: HTML5, CSS3 junto a Javascript. A diferencia de otros frameworks como JqueryMobile o Sencha se centra en dispositivos móviles más recientes no manteniendo retrocompatibilidad para dispositivos que dentro de unos meses no tendrán demasiado uso. Esto lo hace bastante ligero y nos permite centrarnos fácilmente en este tipo de desarrollo. La curva de aprendizaje es realmente rápida, sobre todo echando un vistazo a las explicaciones y vídeos que el autor ha puesto a nuestra disposición en la red.
Primeros pasos con LungoJS
Después de bajarnos la última versión a fecha de esta entrada nos damos cuenta que podemos ‘meterle mano’ sin necesidad de tener un servidor web ya que utiliza toda su programación en el front-end pudiendo así probar todo su potencial en navegadores compatibles con HTML5, actualmente la mayoría, pero específicamente lo podemos hacer en Safari o Chrome, ya que Firefox no es completamente compatible con los comentados estándares. Mejor aún, podemos probarlo en dispositivos móviles o simuladores (ios ,android) de estos. Vamos a ver que estructura tiene lo que nos hemos bajado:

Todo está contenido con un único index.html donde podemos organizar nuestra navegación a través de sections(<section></section>)y artciles(<article></article>), asides, para la navegación lateral (<aside></aside>) y footers (<footer></footer>). Lo primero que debemos tocar es el app.js, descomentando para definir allí nuestra instancia del objeto App:
var App = (function(lng, undefined) {
//Define your LungoJS Application Instance
lng.App.init({
name: 'BuscaTweets',
version: '1.1'
});
return {
};
})(LUNGO);
Vamos a ver ahora que tenemos en el index.html, sobre todo fijarnos en la parte final del archivo donde carga todo lo referente a LungoJS:
<!doctype html>
<html manifest="index.appcache">
<head>
<meta charset="utf-8">
<title>LungoJS</title>
<meta name="description" content="">
<meta name="author" content="Javier Jiménez Villar (@soyjavi)">
<!-- Mobile viewport optimization http://goo.gl/b9SaQ -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta http-equiv="cleartype" content="on">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<!-- For iPhone 4 with high-resolution Retina display: -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/images/icon@2x.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/images/icon-72.png">
<link rel="apple-touch-icon-precomposed" href="assets/images/icon.png">
<link rel="apple-touch-startup-image" href="assets/images/default.png">
<!-- Main Stylesheet -->
<link rel="stylesheet" href="./lungo.js/lungo-1.1.2.min.css">
<link rel="stylesheet" href="./lungo.js/lungo.theme.default.css">
</head>
<body class="app">
<!--
First, you have to do is create a LungoJS Application instance in the file app.js.
...and use a Webkit browser as Chrome or Safari.
-->
<section id="hello_world">
<header data-title="Hello world!">
<a href="#" data-target="aside" data-icon="files" class="button"></a>
</header>
<footer></footer>
<aside></aside>
<article></article>
</section>
<!-- LungoJS (Production mode) -->
<script src="lungo.js/lungo-1.1.2.packed.js"></script>
<!-- LungoJS - Sandbox App -->
<script src="app/app.js"></script>
<script src="app/data.js"></script>
<script src="app/events.js"></script>
<script src="app/services.js"></script>
<script src="app/view.js"></script>
</body>
</html>
Tenemos un section con un header, un footer, un aside y un article. Estos elementos se van a visualizar nada mas descomentar las líneas del app.js, teniendo este aspecto:
Por ahora tenemos un bonito “Hello World” con una interfaz totalmente neutra, pudiendo nosotros extender dicha interfaz a través de la creación de nuevos temas con css3. Esto es un comienzo, para aquellas personas que no conocían LungoJS. En próximas entregas voy a ir explicando como podemos dotar a nuestra interfaz de la lógica de navegación, tarea bastante intuitiva conociendo HTML5 y de la mano de este framework.
Podéis ver mas vídeos de LungoJS y participar en su comunidad aquí
Pingback: Tunelko. A technology point of blog. - LungoJS: Un primer diseño con navegación