LungoJS ======= A HTML5 framework for developers who want to design, build and share cross device applications. * **HTML5 Optimized Apps**: Supports open web standards, such as HTML5, CSS3 and JavaScript. It brings a consistent browser environment across mobiles, TVs and desktop devices. * **Open Source Project**: Each new line of code in Lungo is welcome, we hope that Developers and restless minds will help us to improve day by day this humble project. * **Powerful JavaScript API**: here are many ways to develop apps, not all of them are optimized. Lungo offers you a robust API so you can have complete control of everything that happens in your App. * **Cross-Device full support**: It's known that creating apps for each platform is expensive, this situation is increased by the arrival of tablets and SmartTVs. Lungo will suit all of them creating a unique and amazing UX. *Current version: [2.2.0]()* Getting Started --------------- The idea of Lungo arose in year 2010 when the craftman Javi Jiménez Villar ([**soyjavi**](https://twitter.com/soyjavi)) saw that hot existing Mobile Frameworks at that time were not powerful and not using the features of HTML5. ### Community If this documentation is not enough for you, you can subscribe to the Lungo open community to share your experiences and knowledge. You can do it in [English](https://groups.google.com/forum/#!forum/lungojs) or [Spanish](https://groups.google.com/forum/#!forum/lungojs_es), you decide. ### GitHub This is opensource, so feel free to fork this project to help us create a better framework. All source code is developed with CoffeeScript and Stylus, but don't worry we worship clean-code so you can quickly get to make your own modifications in it. [https://github.com/tapquo/lungo.js](https://github.com/tapquo/lungo.js) ### Licensing Lungo is licensed under GPLv3 licensed and a Commercial License for OEM uses. See [LICENSE](https://github.com/tapquo/Lungo.js/blob/master/LICENSE.md) for more information. ### Help us on being better Please, don't have any doubt in contacting us if you think you can do a better API. If you think that we have to support a new feature or if you have found a bug, use [GitHub issues](https://github.com/tapquo/lungo.js/issues). Make a fork of this documentation and send us your *pull requests* with your improvements. To talk with us or with other developers about the Lungo API, suscribe to our [**mailing list**](https://groups.google.com/forum/#!forum/lungojs). EASY PROTOTYPE ============== The main premise is to create a semantic structure in the whole project, starting from the markup language HTML, through a well organized CSS and ending with the JavaScript API. Lungo offers a great facility when prototyping applications, and will not be needed to enter any lines of code (JavaScript) to visualize how our application will behave. In this doc we will learn which are Lungo semantic elements as relate to each and how you can create applications with HTML only. It's really exciting! let's begin. Structure --------- Here you have the dependencies of your Lungo application's body. It must contain at least: ``` html ``` `
` it's the main container of your UI Components in your App and `
` it must be placed inside your section and must have…. Each section and article must contain an unique ID. ``` html
Your content
``` The JavaScript function that initializes Lungo it's: ``` javascript Lungo.init({}); ``` #### Load Sync resources on init To make easier to create and modify your app you can create the sections in separate html files and load the synchonously, making your main file smaller and having your code organized better. ``` javascript //Load resource on app init Lungo.init({ name: 'example', resources: ['section_to_load.html'] }); ``` #### Load async resources by link There is other way to load resources asynchronously, just add to the `` tag element the attribute data-async with the link to the section. ``` html
``` Basic Elements -------------- Lungo uses the semantic language markup introduced with HTML5, so you can add this elements using the new semantic tags. ### Section & Article A `
` is a view of our application where content will be displayed and where there may be subelements as `
`, `