Google Website Translator Gadget

Mostrando entradas con la etiqueta declaring. Mostrar todas las entradas
Mostrando entradas con la etiqueta declaring. Mostrar todas las entradas

miércoles, 16 de julio de 2014

La web per a mòbils: JavaScript (JS)

JS logo
www.w3.org-script
JavaScript es un dels components bàsics de la Web per a mòbils i en general del augment de usabilitat de les pàgines Web, per tant es molt recomanable fer un curs prou profund per a entrar en detalls interns del llenguatge per a treure-li tot el rendiment que permet.

Donat que no em considero un especialista en programació, i potser en cap altre cosa més, aquí deixo alguns dels punts més interessants per a estudiar d'aquest llenguatge.

Els punts més interessants de les funcions JavaScript

ConcepteOpcions d'ús

Llibreries gratuïtes

No declaració de paràmetres

Els paràmetres es poden invocar sense haver-los de declarar.
Es tractanten com un array.

Funcions de nombre de paràmetres indefinits. No cal fer una funció per 1 paràmetre, una altre per a 2, una altre per a 3,...

Per exemple es pot avaluar el nombre de paràmetres amb:
arguments.length:

function exemple(){
return (arguments[0]+"-"+arguments[1]);
}

Crida:
example ('a','b');
=> a-b

Inicialització paràmetres molt senzilla

Paràmetres per defecte amb || (OR lògic)

function exemple(){
var par1=(arguments[1]||"res-de-res");
return (arguments[0]+"-"+par1);
}

exemple('a');
=> a-res-de-res
Permet inicialitzar tots els paràmetres amb una instrucció molt simple, evitant llargs if i molt codi de comprovació
Claretat de prioritat dels operadors i funcions.Mozilla - Prioritat
Mozilla - Expressions
Suport a caràcters UNICODE
\0, \x00, \u0000
\t, \x09, \u0009
\", \x22, \u0022
\', \x27, x\u0027

Gran quantitat de events programables

Molts apareguts amb HTML5 que amplien les possibilitats de programació.
setInterval()
onload()
onresize()
Events, Objecte Windows, ...

Funcions matemàtiques

w3schools- Objecte Math
n.toFixed(1) - arrodonir al primer decimal

JSON - JavaScript Object Notation

JSON.org
JSON.org un format de conversió a text molt estès (en alguns àmbits esta desplaçant a XML) amb llibreriesper a la majoria de llenguatges i mètodes per a serialitzar i enviar informació a través d'una línia de comunicació.
JSON.stringify(object)
JSON.parse(string_JSON)



Enllaços relacionats:




miércoles, 9 de julio de 2014

HTML5 i JS: local Storage

JS logo
www.w3.org-script
Una altre gran avantatge de la programació amb HTML5 i JS es la inclusió de emmagatzemament local permanent, i a més, de manera senzilla.

Hi ha força informació disponible a dev.w3.org

De manera simple:
  • Hi han dades que es poden guardar en sessió i permanents
  • Es tracten com a propietats de 2 objectes: localStorage, sessionStorage
  • Es important tenir en comte la inicialització de les variables
  • Es important gestionar primer les dades al xStorage i desprès fer la presentació a DOM, i no al revés.

function init_segons()
{ localStorage.segons = "0.0";
localStorage.llista = "";
}

function afegir()
{ // Afegim + per forçar conversió a num.
localStorage.segons = +localStorage.segons + 0.1;
}

function mostrar()
{ /* Mostrar canvia respecte a ver. anteriors.
Invoca al procés de increment i plasma el que hi ha al storage. */
cl.html((+localStorage.segons).toFixed(1));
rep.html(localStorage.llista);
};


miércoles, 11 de junio de 2014

HTML5, JS i geolocalització

JS logo
www.w3.org-script
Una altre de les avantatges de HTML5 i JS es la possibilitat que ha portat per a fer geolocalització.
La majoria de funcionalitats es basen en l'ús de Google Maps però donat que es un producte molt complert i complex, han sorgit llibreries com gmaps.js (hpneo) que ajuden molt a la programació de accions.


Mostra un mapa més gran

Amb les llibreries que es poden importar fàcilment:
<script type="text/javascript" src="zepto.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="gmaps.js"></script>
es poden construir ràpidament accions de posicionament de marques (markers), rutes, etc...
<script type="text/javascript">
var map, lat, lng;
...
$(function() // Function Ready al acabar de construir arbre DOM
{

function enlazarMarcador(e) // e= event que em passa la llibreria
{
// mostra ruta entre marcas anterior i actual
map.drawRoute({
origin: [lat, lng], // origen en coordenades previes
// desti en coordenades del click actual
destination: [e.latLng.lat(), e.latLng.lng()],
travelMode: 'driving',
strokeColor: '#000000',
strokeOpacity: 0.6,
strokeWeight: 5
});
lat = e.latLng.lat(); // guarda coords per següent enllaç
lng = e.latLng.lng();
map.addMarker({ lat: lat, lng: lng}); // Marker a mapa
$("#informatiu").html("AddRoute: a lat.:"+e.latLng.lat()+" long.:"+e.latLng.lng()+" Markers:"+map.markers.length);
};
...

Enllaços relacionats:




viernes, 11 de abril de 2014

JavaScript: Events tàctils amb llibreries

JS logo
www.w3.org-script

JavaScript: Events tàctils

Amb l'aparició i acceptació del iphone, sobre el 2007, l'ús dels events tàctils ("touch") comença a ser acceptat als diferents navegadors.
Poc a poc es van normalitzant i per exemple a Mozilla pots trobar una bona font de informació de com tratactar-los.
TapQuo també publica una guia gràfica (veure a meitat de la pàgina) molt útil per a les formacions.

Llibreries

Per a facilitar l'ús i programació dels diferents events apareixen llibreries que faciliten el seu tractament:
JQuery Mobile
Zepto JS
TapQuo JS (Una fantàstica empresa de Bilbao)

En el meu cas he estat jugant darrerament amb les llibreries de Zepto que ofereix de 2 llibreries:
  • touch.js: Events com tap, singletap, doubleTap, swipe, swipeUp,...
  • gesture.js: Events com pinc, pinchIn,pinchOut,
Amb aquestes llibreries pots programar, per exemple, un toc ("tap") o un desplaçament ("swipe") simplement fent:
...
<script type="text/javascript" src="zepto.min.js"></script>
<script type="text/javascript" src="touch.js" ></script>
...
<script type="text/javascript">
$(function()
{ var ditet = $('#areatactil');
var cl=$("#crono"); // crono
var rep=$("#liststop"); // inventory
...
function clear()
{if (!t)
{cl.html("0.0");
rep.html("Crono initialized<br>");
}
else
{ rep.html((rep.html()+"Crono running.<strong>Reset not allowed!</strong><br>"));
}
}
// Events de touch
ditet.on('swipe', clear);
...
<div id="areatactil">
<span id="crono"> 0.0 </span> segundos
<div id="liststop"></div>
</div>
...

Enllaços relacionats:

domingo, 5 de febrero de 2012

Java: Declaring an object


Java logo
docs.oracle.com
From:
http://docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html





Declaring a Variable to Refer to an Object
Previously, you learned that to declare a variable, you write:
type name;

This notifies the compiler that you will use name to refer to data whose type is type.
With a primitive variable, this declaration also reserves the proper amount of memory for the variable.

However:
Point originOne;

If you declare originOne like this, its value will be undetermined until an object is actually created and assigned to it.
Simply declaring a reference variable does not create an object.
For that, you need to use the new operator, as described in the next section.
You must assign an object to originOne before you use it in your code. Otherwise, you will get a compiler error.

A variable in this state, which currently references no object, can be illustrated as follows (the variable name, originOne, plus a reference pointing to nothing):




Instantiating a Class
The new operator instantiates a class by allocating memory for a new object and returning a reference to that memory. The new operator also invokes the object constructor.


--------------------------------------------------------------------------------
Note : The phrase "instantiating a class" means the same thing as "creating an object." When you create an object, you are creating an "instance" of a class, therefore "instantiating" a class.
--------------------------------------------------------------------------------

The new operator requires a single, postfix argument: a call to a constructor. The name of the constructor provides the name of the class to instantiate.

The new operator returns a reference to the object it created. This reference is usually assigned to a variable of the appropriate type, like:

Point originOne = new Point(23, 94);