25/05/2011

Ebook: .NET, C#, Java, PHP, SQLite, hacking, JQuery, CSS, HTML5,...

Sẽ liên tục cập nhật các kho ebook cho anh em:
Kinh nghiệm of tôi là gõ: "mediafire.com" + "Tên Sách" trên google :D

SQLite, CSS, HTML5, OpenGL
http://www.heronote.com/files/jQuery.mobile.htm

Ajax:
http://www.fshare.vn/file/2Q52GX00/
References: http://www.sotayweb.com/lap-trinh-thiet-ke-website/pro/lap-trinh-javascript/item/152-giao-trinh-tai-lieu-sach-ebook-huong-dan-hoc-ajax-co-ban-tieng-viet.html

http://www.elakiri.com/forum/showthread.php?p=8160091
http://www.mediafire.com/?sharekey=77bcd55cf9dfe16719747bd91027d4ddedc3d66572667f86

JavaScript hướng đối tượng giả lập một cửa sổ trình duyệt

This is a very short tutorial about Object Oriented Programming in JavaScript, in which we are going to create an object called JSWinbox that simulates a window in our browser.

There are two ways of doing OOP in JavaScript: Classical Inheritance and Prototypal Inheritance. The recommended one is Prototypal because objects will share exactly the same methods and by the classical inheritance the objects will have their own copy of each method which would be a waste of memory.

Other great features you should know about JavaScript are closures, Prototype object, and basic knowledge of the DOM. That information should be enough for you to catch the idea of this post.

How is JavaScript an OOP Language if It Does Not Use Classes?

Some folks argue that JavaScript is not a real OOP language because it is not use classes. But you know what? JavaScript does not need classes because objects inheritance from objects. JavaScript is a class free language which uses prototype to inheritance from object to object.

How Do I Create an Object in JavaScript?

There are two ways to create an object: by object literals and by constructors.

Object literals are the most recommended because it can organize our code in modules, in addition it is an object ready to go that does not need a constructor. (Very useful for singletons.)

var myDog = {
name: 24,

race: '',

getValue: function () {

return this.value;
},
}

The other way is creating object by constructors. First of all, functions are objects and functions are what we use to create constructor objects for example:

function Dog(race, name){
this.race = race;

this.name = name;

this.getRace = function(){

return this.race;
};

this.getName = function(){

return this.name;
}
}

To create an instance of the Dog object we use the following code:

var mydog = new Dog('greyhound', 'Rusty');

Now, we just need to use the object we just created. So, lets execute one of the methods. The method to execute is getRace.

mydog.getRace(); // Returns grayhound

If you need a better explanation, go to one of the links at the beginning of the article for further explanation.

SourceCode example: http://www.mediafire.com/?w91389bf211nzho

Reference: http://www.admixweb.com/2010/07/14/oop-javascript-creating-an-window-box/

The Best JavaScript Frameworks and Libraries for Web and Mobile


JavaScript has been frustrating developers for years, but with javaScript libries and frameworks like jQuery JavaScript is regaining its street cred. jQuery is not of course the only javaScript framework around, but the main reason that JavaScript is becoming more interesting and exciting is the ever increasing development of JavaScript libraries and frameworks.

To meet industry demand Silicon Beach Training has updated our JavaScript training course and intruduced jQuery training and Ajax training courses to whet your appetite. Of course if you need HTML5 training or CSS training we can offer these too only 5 mins walk from Brighton railway station.

The real problem with JavaScript (released in 1995) lay with what we now call the DOM (document object model). Browsers implemented what we now know as the DOM in different ways meaning that browser cross compatibility was a nightmare. The standardisation of the DOM made thing a little easier but Internet Explorer (the bane of many a developers life) did not support basics like addEventListener until 2010 in IE9.

JavaScript frameworks provided developers with solutions to more easily overcome many browser bugs, allowing developers more time to develop.

The five market Leaders in JavaScript frameworks – or libraries are:

jQuery-coursejQuery is the strongest at DOM manipulation, and that’s why we like it.

It provides simple ways to create any custom effect and a range of simple to powerful Ajax methods.

prototype javascript libraryPrototype is a JavaScript language library that extends the feature set of JavaScript but still includes a way to manipulate the DOM. Prototype provides class-style Object Oriented and AJAX, freely distributable under the terms of an MIT-style license.

YUI seems to offer everything! It includes the basics of DOM manipulation and event YUI Javascript Libraryhandlers, but also has a huge host of utilities available to it, ranging from internationalisation to history management and animation. What makes YUI special is its ability to load the utilities during runtime, so visitors do not suffer from slow page downloads. Built by frontend engineers at Yahoo! and contributors from around the world, it’s an industrial-strength JavaScript library.

Dojo is akin to enterprise-level JavaScript applications, and its homepage shows off how IBM, dojo toolkit javascript frameworkCisco and Sun are among those who’ve chosen to make good use of it.

Indeed, Dojo’s documentation demonstrates how accessible the toolkit is via the ARIA support it provides. Dojo saves you time, delivers powerful performance, and scales with your development process

MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the mootools javascript frameworkintermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.

These JavaScript libraries provide these important features in common:

  • Cross-browser support, particularly for older browsers even IE6 – RESULT!
  • Experienced developers who share their knowledge and experience with the community
  • Open licences enabling developers to use the projects privately and commercially
  • Strong communities of developers that support them
  • Extendable functionality

Great stuff to have in common but they all cover the fundamentals of web development in their own way. Most people getting started with JavaScript these days are faced with the challenging task of picking a library to use, or at least which one to learn first. If you’re starting a project from scratch and know that including a JavaScript library or framework is going to save you time and therefore money, then you have the advantage of being able to shop around for the perfect candidate.

UI frameworks

jQuery TOOLS – UI library for the Web is a very light weight (2.5kb) collection of the most popular user-interface components offering functionality over load time. It provides libraries for the following jQuery elements: Tabs, Tooltip, Scrollable, Overlay, Forms and Flashembed. jQuery can be downloaded as selected modules, so you don’t have to worry about pulling in the entire UI library if you just want draggable windows, for instance. It has the same benefits as jQuery and is under the same licence, so if you require a standard set of components, such as a date picker, progress bars or drag and drop, jQuery UI is a good choice for you. In addition, all the jQuery UI components can have different skins applied, either by your own designers or with a predetermined template. Both would use the ThemeRoller application, a web GUI for styling jQuery UI components.

jQuery UI is a widget and interaction library built on top of the jQuery core that allows you to animate different elements giving you impressive front-end interactions, all with relative ease.
The UI package is basically a collection of user interface-related functions that and can be broken into 3 main modules:

  • the widgets, which contain prebuilt and customizable user interfaces
  • the effects, which are very simple and straightforward animations you can do to a page element
  • expanded mouse interaction with page elements (dragging and dropping)

Script.aculo.us is a popular UI kit that extends the Prototype Framework by adding visual effects, user interface controls, and utilities via the DOM.

Scripty2, essentially the second incarnation of Scriptaculous, goes beyond the animation framework that it was originally known for. Although Scripty2 is still in alpha, it’s likely to be the UI framework of choice for Prototype developers because it builds on the library. In addition to some super-smooth effects, it will come with accordions, dialogs, progress bars, tabs, sliders and an autocompleter.

MochaUI – A Web Application User Interface Library requires MooTools and also requires an XHTML 1.0 strict doctype. So it’s no good for HTML5 entusiasts. It provides a slick UI for windows, drag and drop, file views and panel views. It is a popular extension to the MooTools Javascript Framework and ExplorerCanvas, to develop quick Web Applications, Web Desktops, Web Sites, Widgets, Standalone Windows, Modal Dialogs and much more.

JavaScript libraries and frameworks for Mobile

JavaScript libraries and frameworks are making their way into the mobile development community. Mobile is unchartered territory and getting exiting. It’s really where the future of web development is. There are, however many considerations to be met: performance of the mobile device, whether you want to replicate the native UI and whether the mobile device even supports the newest JavaScript methods

jQuery Mobile is a Touch-Optimized Web Framework for Smartphones & Tablets. jQuery Mobile provides a unified user interface system across all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation. jQuery will support mobile browsers from B-grade and upwards, another reason why we think that jQuery is the one to watch.

jQTouch isn’t so much a framework as a jQuery plug-in that provides a native UI feel to iPhone-based web apps. This includes transition effects, a few template styles for all the UI widgets (such as lists, buttons and toolbars), swipe detection so that it interacts like an iPhone app and, finally, the ability to extend the functionality of the plug-in. There are number of jQTouch-based iPhone apps have already and are available in the iTunes store, compiled via PhoneGap.

XUI is a super micro tiny (3k-compressed) DOM library for authoring HTML5 mobile web applications. It includes Ajax and Effects via Emile.js. Like jQuery, it supports the simple xui.fn.myplug plug-in model, so it’s extendable. The project aims to be compatible with mobile browsers based on WebKit, Mozilla’s mobile browser Fennec, Opera, IE and BlackBerry. It’s still in-project but is fairly stable.


References: http://www.siliconbeachtraining.co.uk/blog/?p=1534

30/12/2009

Collaboration des OpenSource SIG

La Fondation Open Source Geospatiale (OSGeo) est une organization loi 1901. Son but est d’aider seulement et de promouvoir le développement collaboratif des données et des technologies géospatiales, mais encore fournit des aides de finance et légale indépendante. C’est à dit touts ses membres peuvent distribuer ses codes, ses finances, ses ressources,…OSGeo fournit un forum commun, une infrastructure partagée pour améliorer la collaboration entre projets. Quelques web mappings et Desktop applications dans cette fondation : GeoServer, Mapbuilder, Mapserver, OpenLayers, GrassGis, gvSIG, GeoTools, PostGis… Cette collaboration apporte une grande signification, on peut développer un SIG avec les point forts des systèmes dans cette fondation. Neogeo, Camptocamp, Geosignal… sont des projets qui ont la réunion des autres projets.

Références:
[1] http://www.osgeo.org/

22/12/2009

Les outils de développement

Développement - Commerciaux (19)
I-A. Commerciaux
I-A-1. Articque
I-A-2. AutoCad Map
I-A-3. Benomad
I-A-4. CarbonTool
I-A-5. ESRI
I-A-6. GeoConcept
I-A-7. GeoMap
I-A-8. Géomédia
I-A-9. ILOG JViews Maps
I-A-10. Internet Mapping Framework
I-A-11. Ionic RedSpider
I-A-12. LorikSoftware
I-A-13. Loxane
I-A-14. Map24
I-A-15. MapInfo
I-A-16. MapViewer
I-A-17. Microsoft Virtual Earth
I-A-18. Star-Apic
I-A-19. StoneEarth SIG 3D
Développement - Libres - Webmapping (21)
I-B. Libres, cartographie pour internet (WebMapping)
I-B-1. AlovMap
I-B-2. BeeldBlad
I-B-3. CartoWeb
I-B-4. Deegree IGeoportal
I-B-5. Drupal
I-B-6. Geoar
I-B-7. Geoserver
I-B-8. GoogleMaps
I-B-9. InterMap
I-B-10. LiziMaps
I-B-11. MapBender
I-B-12. MapBuilder
I-B-13. MapGuide
I-B-14. Mapserver
I-B-15. MDWeb
I-B-16. MyMaps
I-B-17. OpenLayer
I-B-18. PMapper
I-B-19. PrimaGIS
I-B-20. SeaGIS
I-B-21. WorldKit
Développement - Libres - Logiciels (20)
I-C. Libres, Logiciels
I-C-1. AccuGlobe
I-C-2. AlterSIG
I-C-3. Diva-GIS
I-C-4. Earth3D
I-C-5. FWTools
I-C-6. GoogleEarth
I-C-7. Grass, WinGrass, JGrass ...
I-C-8. GvSIG
I-C-9. Jump, OpenJump, Skyjump, Deejump ...
I-C-10. Kosmo
I-C-11. LandSerf
I-C-12. Le Petit Poucet
I-C-13. NRDB : Natural Resources Database
I-C-14. OpenModeler
I-C-15. Ossim
I-C-16. QGIS
I-C-17. Saga GIS
I-C-18. UDig
I-C-19. WorldWind
I-C-20. Xrmap
Développement - Libres - Librairies (12)
I-D. Libres, Librairies
I-D-1. Fulcrum
I-D-2. GeoAPI
I-D-3. GeoTools
I-D-4. JTS
I-D-5. Librairie GeoTiff
I-D-6. MapWindow
I-D-7. OGDI
I-D-8. OGR/GDAL
I-D-9. OpenEV
I-D-10. OpenMap
I-D-11. Proj4
I-D-12. SharpMap
Sans développement - Commerciaux (13)
II-A. Commerciaux
II-A-1. CadCorp
II-A-2. CARIS GIS
II-A-3. Bentley Map
II-A-4. Cart@Jour
II-A-5. Editop
II-A-6. Géoclip
II-A-7. ImaGIS
II-A-8. MacMap
II-A-9. Manifold
II-A-10. Migratio
II-A-11. ORLO
II-A-12. Smallworld
II-A-13. Telimago
Sans développement - Libres (5)
II-B. Libres
II-B-1. AutoDEM
II-B-2. MicroImages
II-B-3. Nasa Tools
II-B-4. SavGIS
II-B-5. TopoCad
Base de données (4)
III. Base de données pour SIG
III-A. Access
III-B. MySQL
III-C. Oracle
III-D. PostgreSQL

Detail: http://jsorel.developpez.com/tutoriels/sig/outils/

Geo Lynx 911

Geo Lynx 911 est un logiciel d'interaction entre SIG et GED. Il construit sur ESRI ArcMap et base de .NET. Son but principal est la gestion de téléphone dans la région. Il peut savoir l'orient de déplacement d'une personne qui utilise le téléphone portable sur la carte, ou afficher la position d'une personne qui appelle à la police. De plus, on peut connaitre des informations de la région.

C'est un lien d'introdution de Geo Lynx 911:
http://www.geo-comm.com/geolynxdemo.html

19/12/2009

Client - Service

Dans l’article avant, j’ai expliqué aux services du SIG. Cet article, je vais parler de la relation entre le client et ces services.

Chaque application de client a été crée par l’utilisé des SIG et non-SIG web services.

SimpleService

Coverage Portrayal Service (CPS) rassemble des résultats des Web Coverage Service, puis couverture et ensuite envoie ces résultats à autre Spatial Reference System (SRS). En fin Overlay extrait ces données sont à partir de Web Feature Service (WFS) et couvre des autres données pour afficher une image à des clients.

On donne un exemple quand un utilisateur veut chercher une l’adresse sur la carte. L’application du SIG doit afficher en image de cette adresse. Il faut toucher la limité de cette image. Malgré sa simplicité, cet exemple est assez riche pour explorer des au service du SIG.

Les types de service sont nécessaires dans cet exemple :

- Un service corresponds à l’adresse (address matching service)
On suppose que dans tout système de référence de spatiale, le service utilisait des adresses que les clients disposent. Ce service retourne des informations complémentaires telles que l’adresse normalisée, la précision de localisation. Ce service filtre des coordonnées qui correspondent à une demande de client. Dans de tel cas, ce service retourne plusieurs réponses.

- Un service corresponds à un site (Web Mapping service)
Retourner une carte correspondant à la pré-spécifié géographiques et la dimension de pixel d’un espace.

- Un service re-projection (re-projection service)
Transformer une image raster d’un système de référence spatiale à l’autre. Ce service est nécessaire parce que la projection native d’un ensemble de données peut être différente de celle demandée par le client. Une noté ici sur le fait qu’il n’y a pas de re-projection de l’interface de service standard. Nous supposons qu’il se composera d’au moins les paramètres suivants.

ilustreserviceuser

Quelques modèles de coordonnée entre un client et service :

clientcordinaire
Coordonner client – service

clientservice
Client connecte des services d’agrégats

workflowmanageservice
Client avec un Workflow qui manage des services de médiation.

Référence:
[1] Service Chaining of Interoperable Geographic Information Web Services (Nadine Alameh)

18/12/2009

Googe Map API et Google Fusion News

Google Map a fourni des API pour les développeurs qui peuvent exécuter des oppérations (upload donnée, query, chercher, afficher) sur ses données stocké dans Google My Map.

Détail ici:
http://googlegeodevelopers.blogspot.com/2009/12/maps-data-api-bringing-geospatial.html
http://code.google.com/apis/maps/documentation/mapsdata/developers_guide_protocol.html#Search

Réf:
[1] http://www.techcrunch.com/2009/12/15/google-maps-spatial-search/
[2] http://www.spatiallyadjusted.com/2009/12/16/the-google-maps-data-api-and-google-fusion-api-news/

Ps: Merci Monsieur Brice de votre lien que vous m'envoyez!