Archivio per la categoria ‘HTML’

ASPNET Tips 'n' TricksIt’s a best practice storing scripts like js, or css, in an external file, the only exception to this rule is for lightweight script specific for a page like the following example:

$(function() {
alert('do something');
});

in the other cases the external file is the best choice for scalability, maintainability, degradability of your code. Asp.Net Web Forms is not supports the special grapheme for including external file .js using tag <script></script>.

The Visual Studio compilator not signs this syntax like an error or like a warning:
<script type=”text/javascript” src=”~/Scripts/jquery-1.4.1.min.js”></script>

But running our appliaction on Cassini we have this run-time error: $ undefined.

Javascript ettor

How can we solve this problem?

We have many ways to solve the problem with advantages and disadvantages.

Solution nr. 1 : using absolute path

Using syntax: <script src=”/Scripts/jquery-1.4.1.min.js” type=”text/javascript”></script> the script is include correctly.

This are the advantages:

  1. Standard HTML code
  2. Easy solution

This is the disadvantage:

  1. If the root of your application is different when will deploy it, the problem will not to be resolve.

Solution nr. 2: resolve the script with ResolveUrl

ResolveUrl is a method (of namespace System.Web.UI), supported by .Net Framework 1.0,  for converting a URL into one that is usable on the requesting client. We can solve, therefore, our problem with follow syntax:

<script src='<%=  ResolveUrl(“~/Scripts/jquery-1.4.1.min.js”) %>’ type=”text/javascript”></script>

the advantages of this choice are:

  1. easy solution
  2. solution indipendent by root of application

the disadvantage is that the solution is not a standard and performances of the page decrease because we are using server function inside a client declaration.

Solution nr. 3 : using ASP-NET Ajax

ScriptManager is the first aspnet control inside a web page. For MSDN It manages ASP.NET Ajax script libraries and script files, partial-page rendering, and client proxy class generation for Web and application services. We can use it for all application that we have written with MS Framework 3.0+ based on Asp.Net Ajax technology.

Using ScriptManager control we can solve our problem with this markup:

<form runat="server">
<asp:ScriptManager ID="sm1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/Scripts/jquery-1.4.1.min.js" />
</Scripts>
</asp:ScriptManager>
<script type="text/javascript">
$(function () {
alert('Do something');
});
</script>

//

It’s a best practice (only for internet applications)  add commons libraries, like jQuery core, from a web repository. With ASP.NET 4.0 we can do this with simple two steps.

1. Insert this code into the section Application_Start of Global.asax.cs

void Application_Start(object sender, EventArgs e)
{
// map a simple name to a path
ScriptManager.ScriptResourceMapping.AddDefinition("jQuery", new ScriptResourceDefinition
{
Path = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1.min.js",
DebugPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1.js"
});

}

2. Change the script manager mark up with this declaration:


<form runat="server">
<asp:ScriptManager ID="sm1" runat="server">
<Scripts>
<asp:ScriptReference Name="jQuery" />
</Scripts>
</asp:ScriptManager>
<script type="text/javascript">
$(function () {
alert('Do something');
});
</script>

the advantage of this solution is the easy implementation on asp.net ajax web application. The disadvantage is that the ScriptManager load many libraries and than the page will be heavier than simple HTML page.

The CDN solution not working if your application is an intranet asp net project with some with limitations in web surfing.

rien ne va plus and happy coding  =)

Mi scusi, ma per andare dove dobbiamo andare, per dove dobbiamo andare? La celebre frase di Totò e Peppino può sintetizzare lo stato confusionale che deve affrontare il web designer oggi. Non stiamo parlando dei grafici web che lavorano per grandi agenzie con facoltosi clienti che non badano a spese, bensì dei creativi che lavorano principalmente con la Piccola e media impresa.

Il problema principale è l’accessbilità: accessibile a chi? Ora che non basta progettare siti per le diverse risoluzioni dei browser pc, sono intervenuti una serie di nuovi dispositivi che stanno prendendo sempre più quota sul mercato e che non possiamo tralasciare. Parliamo di iPhone, iPad (le quali ci invitano a sviluppare app ad hoc), ma anche tablet e mobile Android, che sposano la filosofia dell’Open Source e, come se non bastasse, BlackBerry e tutta quella serie sterminata di smart phone uno diverso dall’altro sia come schermo che come sistema operativo.

Proviamo a tornare calmi, scomporre il problema e proviamo a ragionare su questa nuova mole di lavoro che ci attanaglia. Partiamo con il primo problema, le applicazioni che sfruttano iOS.

Il sogno e l’incubo dell’Apple Store

L’Apple Store è una gran bella cosa perché: innanzitutto ci fa creare applicazioni per una serie di dispositivi che possiamo considerare il meglio per quello che riguarda i tablet e gli smart phone.

  1. Molti esperti concordano che non ci siano proprio paragoni tra le tecnologie iOS e i suoi simili, anche quelli basati su Android checché ne dica Google.
  2. Le validazioni dell’App da parte dello staff di Jobs & co. assicura la creazione di applicazioni valide e well-formed.

Ma l’Apple Store appare a molti anche una gran brutta cosa:

  1. Non si possono usare per la programmazione prodotti che non utilizzano piattaforme di sviluppo accettate da Apple: “Flash sì, Flash no”, in periodo sanremese, potrebbe essere una sorta di refrain riscritta da Elio e le Storie Tese.
  2. Le validazioni delle App sono qualcosa di cervellotico.
  3. L’iscrizione ad Apple Store costa 99 dollari all’anno
  4. Una volta che avrete ottenuto le autorizzazioni per la vostra applicazione (se avete letto il punto 2 non sembra cosa facile), Apple vi detrarrà il 30% di commissioni per ogni singola app venduta.

La cosa che ci fa ben sperare è che Apple stessa, forse pressata dalla concorrenza, si sta ricredendo sulle sue leggi ferree  e, dopo aver ascoltato le lamentele dei designer e degli sviluppatori, sta pian pianino modificando la propria filosofia cercando di ammorbidirla. Noi, da buoni web designer stressati quali siamo, speriamo che questo proceda il più volecemente possibile, così potremmo aver creato la nostra applicazione per iOS.

Una volta creata la nostra applicazione per l’Apple Store saremo ben felici di constatare che tutti gli utenti di smart phone e tablet diversi non potranno mai utilizzarla.

Passiamo allora al secondo punto per colmare questa spiacevolezza.

Creazione di applicazioni per Android: facile come bere un bicchier d’acqua

La creazione di applicazioni per Android è assolutamente diversa rispetto alle tecniche di sviluppo Apple. Una piattaforma molto semplice da utilizzare per lo sviluppo si chiama App Inventor: il prodotto è estremamente semplice e, i novizi programmatori, potranno esultare: per programmare con App Inventor non serve niente, nessuna base di programmazione, nessuna riga di codice.

I miscredenti dicono che il problema del mondo open source e dei prodigi di App Inventor sia nella qualità di applicazioni che verrebbero rilasciate, per quanto riguarda il primo punto secondo noi non è così importante, “piattaforme” come Java o PHP su tutte hanno rilasciato degli ottimi progetti open, certo, non tutti, ma comunque più di qualcuno degno di nota sì. Per quanto riguarda l’App Inventor siamo scettici anche noi, una piattaforma di sviluppo per neofiti che permette di creare Applicazioni senza scrivere una riga di codice non ci sconfifera tanto, la proveremo e vi diremo, va comunque evidenziato che i programmatori doc possono sempre utilizzare C++ per le loro applicazioni Android.

A questo punto abbiamo capito che una volta effettuata un’applicazione per iOS possiamo crearne una per Android e il maggiore mercato dei principali smart phone e tablet è completato ma, gli altri smart phone, quelli meno “importanti” come, per esempio, BlackBerry?

Realizzare una versione mobile per un sito web

Forse è la soluzione ideale, anche perché non sempre un cliente è disposto a spendere per un sito pc con app Apple, una Android e una versione visible sugli altri smart phone. Secondo noi risulta essere best practice anche perché non bisogna versare soldi a nessuno (Apple Store), né tanto meno chiudere un applicazione soltanto ad un dispositivo (iOS o Android), molte volte un application mobile non è nient’altro che un sito ben fatto, allora perché non utilizzare le media query dei nuovi CSS3 per realizzare un sito visibile su più dispositivi?

Meditate web designer, meditate…

HTML5, W3C e la geolocalizzazione

Pubblicato: giugno 28, 2010 in HTML
HTML 5 e la geolocalizzazione

Tra le tante novità introdotte in HTML5 il w3c, prendendo spunto dal web 2.0, rilascia API per la georeferenziazione

La localizzazione geografica sul web è un mondo affascinante nato già con i primi siti internet quando venivano caricate mappe geografiche che, grazie anche all’utilizzo di animazioni flash potevano essere ingrandite.

Il servizio di geolocalizzazione proposto da Google necessita di ben poche presentazioni, l’accordo stipulato da BigG e TeleAtlas ha fatto la fortuna di molte aziende, Microsoft ha risposto sfruttando le mappe digitali di un’altra importante azienda: Navteq.

Con l’approssimarsi della release definitiva di HTML5 il W3C intuisce l’importanza della geolocalizzazione e rilascia un API ufficiale al momento in stato di working draft. Tutto ciò contribuisce ad alimentare il clamore verso il nuovo metalinguaggio, per un articolo più apprfondito e per i primi approcci pratici rimandiamo a questo interessantissimo articolo.

Immagine prelevata dalla rete e correlata all'articolo benvenuto HTML 5Tutti lo attendono con ansia, qualcuno avrà trovato finalmente il suo Godot? In un’epoca in cui il prodotto che acquisto è ciò che sono l’ipotesi potrebbe essere plausibile, ma la trasformazione dell’essere umano, in essere macchina, essere iPhone, essere abbiente, non ci interessa minimamente. Ma cos’è quindi Html5? Principalmente è un  ipertestuale metalinguaggio, attualmente in draft, arrivato alla sua quinta versione. Perché lo si attende? La polemica flash-adobe può essere considerato il capitolo più noto, ma al di là della sua importanza quale strumento che andrà volutamente a sostituire il vecchio (e a volte inutile e comunque costoso e comunque compreso di un linguaggio di scripting folle come ActionScript) Adobe Flash, Html 5 è anche un meta-linguaggio con molte funzionalità interessanti.

  • Per i designer sperimentatori l’introduzione del tag <canvas> permetterà di disegnare direttamente sul vostro sito delle immagini a mo’ di Paint, un bellissimo esempio di quanto può essere realizzato potete trovarlo nel sito SketchPad. La cosa fantastica è che il tag in questione possa renderizzare anche immagini in 3 dimensioni.
  • Finalmente i concetti di web semantico possono essere più semplici con l’introduzione di tag specifici come:
  • <menu>
  • <video>
  • <audio>
  • Il caching di dati nativo permette alle applicazioni di lavorare anche offline.
  • L’introduzione dei famosi web forms 2.0 che non richiedono più l’autenticazione dei dati tramite funzioni javascript poco usabili, se non rafforzate lato server, qualora gli utenti avessero il servizio js disabilitato.

Queste sono soltanto alcune peculiarità di un nuovo meta-linguaggio che, detto francamente, ci piace; il resto della polemica Jobs – Adobe Player. almeno a noi, ci sembra un po’ troppo esagerata (Microsoft sarebbe stata crocifissa per molto meno), già con la prima uscita del melafonino Apple s’era abrogata il diritto di cancellare le applicazioni installate sull’iPhone che non gli stavano a genio.

Buona navigazione, naviganti, e grazie di esservi soffermati su questa panoramica.