Developing Hybrid Applications for the iPhone: Using HTML, CSS, and JavaScript to Build Dynamic Apps for the iPhone


 

image

1 Developing with Dashcode and Xcode 1
Section 1: Using Dashcode and the Custom
QuickConnect Template 1
Section 2: Using Xcode and the Custom
QuickConnect Template 4
Section 3: Using Xcode and the Custom
PhoneGap Template 9
Section 4: Introduction to Basic Objective-C 11
Section 5: Objective-C QuickConnectiPhone
Application Structure 14
Section 6: Objective-C PhoneGap Application
Structure 17
Section 7: Embedding Web Content:
QuickConnectiPhone 19
Section 8: Embedding Web Content:
PhoneGap 23
Summary 24
2 JavaScript Modularity and iPhone Applications 25
Section 1: Modularity 25
Section 2: The QuickConnect JavaScript
Framework—A Modularity Example 26
Section 3: The QuickConnectiPhone
Implementation of the Modular Design 34
Section 4: Business and View Application
Controller Implementations 38
Section 5: Error Application Controller
Implementation 42
Section 6: Application Functionality Creation
Steps 43
Summary 43
3 Creating iPhone User Interfaces 45
Section 1: Apple’s Human Interface Guide 45
Section 2: List- and Browser-Based Interfaces 48
Section 3: Nonlist-Based View Applications 51
Section 4: Immersion Applications 55
Section 5: Creating and Using Custom
CSS Transforms 57
Section 6: Using and Creating
a Drag-and-Drop/Scale/Rotate Module 64
Summary 74
4 GPS, Acceleration, and Other Native
Functions with QuickConnect 75
Section 1: JavaScript Device Activation 75
Section 2: Objective-C Device Activation 81
Section 3: Objective-C Implementation
of the QuickConnectiPhone Architecture 88
Summary 94
5 Hybrid Applications, GPS, Acceleration, and Other
Native Functions with PhoneGap 95
Section 1: JavaScript Device Activation 95
Section 2: Objective-C Device Activation 102
Summary 109
6 Embedding Google Maps 111
Section 1: Displaying a Map from Within Your
QuickConnect JavaScript Application 111
Section 2: Objective-C Implementation of the
QuickConnect Mapping Module 115
Summary 126
7 Database Access 127
Section 1: BrowserDBAccess Example
Application 127
Section 2: Using WebView SQLite Databases 129
Section 3: Using Native SQLite Databases 133
Section 4: Using the DataAccessObject
with WebKit Engine Databases 135
Section 5: Using the DataAccessObject
with Native Databases 145
Summary 154
x  Contents
8 Remote Data Access 155
Section 1: BrowserAJAXAccess
Example Application 155
Section 2: Using the ServerAccessObject 157
Section 3: ServerAccessObject 162
Section 4: Security Control Functions 171
Summary 172
A Introduction to JSON 173
Section 1: Background 173
Section 2: A JSON JavaScript API 175
Summary 178
B The QuickConnectFamily Development
Roadmap 179
C The PhoneGap Development Roadmap 183

Download

Advertisements

Giới thiệu về 2D Array – mảng 2 chiều trong JavaScript


Quản Trị Mạng – Trong bài viết dưới đây, chúng tôi sẽ giới thiệu và hướng dẫn các bạn một số thao tác cơ bản để tạo và truy cập tới mảng 2 chiều – 2D array trong JavaScript. Về mặt bản chất, mảng 2 chiều là khái niệm về chuỗi các ma trận – matrix, được sử dụng để chứa thông tin. Mỗi 1 thành phần lại có chứa 2 chỉ số riêng biệt: row (y) – dòng và column (x) – cột. Ma trận sẽ tiến hành xử lý mỗi khi bạn nhập vào dòng và cột dữ liệu. Ví dụ: nếu bạn muốn hiển thị dữ liệu trên từng dòng với mỗi năm và từng cột với mỗi tháng, hoặc khi bạn thực hiện quá trình tạo báo cáo tài chính cho công ty, tổ chức, doanh nghiệp… thì việc sử dụng matrix là 1 giải pháp vô cùng hợp lý, tương ứng với tình hình kinh doanh và hiệu suất của từng phòng, ban ngành… hoặc đem so sánh với mức chỉ tiêu chung của toàn công ty.

image

Các bạn hãy liên tưởng tới 1 chiếc bàn cờ, có 8 dòng (được đánh dấu từ 0 > 7), 8 cột (cũng đánh dấu từ 0 > 7). Nếu muốn kiểm tra vị trí chính xác của ô phía trên góc trái thì hãy truy cập chessboard[0][0], ô tiếp theo sẽ là vị trí [0][1], và tiếp tục thay thế giá trị của x thành [0][7] để đi hết 1 cạnh từ trái sang phải của bàn cờ. Tương tự như vậy, thay đổi giá trị y nếu muốn di chuyển từ trên xuống dưới, ví dụ [6][1] là ô thứ 2 của cột thứ 7.

Ký hiệu chúng tôi đang sử dụng ở đây khá phù hợp với những biến trong JavaScript: [y][x], tất cả các mảng đều bắt đầu từ 0, do vậy có thể hiểu nôm na về dạng câu hỏi: “Khoảng cách bao nhiêu tính từ phía trái” hoặc “vị trí 0” sẽ chính xác là tọa độ đầu tiên từ bên trái.

Một trong những quy ước chung được sử dụng rộng rãi khi áp dụng với ma trận là dùng chung biến x và y, ví dụ x luôn luôn là chỉ số cột (khoảng cách, vị trí tính từ bên trái), và y là chỉ sổ dòng (khoảng cách từ trên xuống). Do vậy, tọa độ y,x tương ứng với [0][0] là thành phần đầu tiên ở góc trên bên trái, [0][1] là thành phần thứ 2 tiếp theo từ trên xuống, còn [1][n] là dòng thứ 2….

JavaScript và 2D Array:

Nhưng trên thực tế, JavaScript lại không hỗ trợ 2D Array. Và cách thường sử dụng để xử lý dữ liệu trong mảng 2 chiều là tạo đối tượng Array, bao gồm nhiều đối tượng Array bên trong.

Sử dụng mảng 1 chiều tương tự như mảng 2 chiều:

Trong nhiều trường hợp thực tế, chúng ta có thể dễ dàng “ép” mảng 1 chiều vào trong mảng 2 chiều bàng cách sử dụng toán tử lập trình logic. Ví dụ: chúng ta có 1 chuỗi các ký tự như sau:

var sData= "abcdefghijABCDEFGHIJäß©ÐëØ>½îÿ";

Tại đây, chúng ta có thể dễ dàng thấy 1 mô hình đơn giản, với 3 chuỗi liên tiếp của 10 ký tự, tương ứng với đó là ma trận 10 x 3:

// column:  0123456789
var sData= "abcdefghij"  // row 0 (starts at offset 0)
          +"ABCDEFGHIJ"  // row 1 (starts at offset 10)
          +"äß©ÐëØ>½îÿ"  // row 2 (starts at offset 20)

Mỗi dòng tại đây sẽ chứa 10 cột, chúng ta có thể dễ dàng tính toán và xác định vị trí đầu tiên của bất kỳ dòng nào bằng cách nhân số dòng với 10. Công thức tổng quát tại đây sẽ có dạng:

(y * row_length) + x

với y là số dòng, x là số cột, row_length là số cột trong mỗi dòng.

image

Với dữ liệu như ví dụ trên, chúng ta có thể dựng cấu trúc mảng 2 chiều như sau:

// assumes data is a string, sData and rows have 10 columns
function GetCellValue(y,x) {
nRowStart= y*10;
nOffset = nRowStart+ x;
sElementValue= sData.substr(nOffset,1); // access one element
return( sElementValue );
}
….
// y,x (row, column)
alert( GetCellValue(0,0) ); // displays a
alert( GetCellValue(0,1) ); // displays b
alert( GetCellValue(0,2) ); // displays c
alert( GetCellValue(1,2) ); // displays C
alert( GetCellValue(2,2) ); // displays ©
alert( GetCellValue(0,9) ); // displays j
alert( GetCellValue(1,9) ); // displays J
alert( GetCellValue(2,9) ); // displays ÿ

Sau đó, chúng ta đã có thể truy cập chuỗi dữ liệu tương tự như mảng 2 chiều với từng ký tự riêng biệt. Và tiếp tục như vậy, chúng ta hoàn toàn làm được việc ép cấu trúc mảng 2 chiều vào mảng 1 chiều bằng cách gán thêm chức năng truy cập dữ liệu đặc biệt. Nhưng đây cũng không phải là cách làm phổ biến trong JavaScript.

Sử dụng mảng của mảng:

Trên thực tế, cách sử dụng thường xuyên mảng 2 chiều trong JavaScript là tạo mảng 1 chiều, sau đó gán từng đối tượng bên trong đó với 1 mảng 1 chiều khác. Nếu đi vào việc phân tích cụ thể, chức năng dưới đây là 1 trong những cách đơn giản để tạo và cố định mảng 2 chiều:

as2D= new Array(); // an array of "whatever"
as2D[0]= new Array("a","b","c","d","e","f","g","h","i","j" );
as2D[1]= new Array("A","B","C","D","E","F","G","H","I","J" );
as2D[2]= new Array("ä","ß","©","Ð","ë","Ø",">","½","î","ÿ" );

Khi đó, chúng ta đã có thể xây dựng và xác định được mảng dữ liệu với 3 đối tượng, mỗi đối tượng có 10 chuỗi ký tự khác nhau. Và bây giờ, tiếp tục sử dụng cú pháp JavaScript để truy cập như bình thường:

alert( as2D[0][0] ); // displays a
alert( as2D[2][2] ); // displays ©
alert( as2D[2][9] ); // displays ÿ

image

Sử dụng […]:

Cú pháp:

var a= [ item0, item1, item2, … ];

là cách viết tắt của:

var a= new Array( item0, item1, item2, … );

Qua đó, chúng ta có thể hiểu nôm na rằng:

[] tương tự với mảng mới và không có dữ liệu

["a"] tương tự với mảng mới với 1 chuỗi dữ liệu

["a","b"] tương tự với mảng mới với 2 chuỗi dữ liệu

và tiếp tục như vậy. Do đo, các bạn có thể xác định và xây dựng mảng dữ liệu như trên bằng cú pháp:

var as2D = [
    ["a","b","c","d","e","f","g","h","i","j"],
    ["A","B","C","D","E","F","G","H","I","J"],
    ["ä","ß","©","Ð","ë","Ø",">","½","î","ÿ"]
];

Với cú pháp như vậy, JavaScript có thể dễ dàng xây dựng được biến theo dạng mảng, tương tự như cú pháp:

as2D[n]= new Array( a,b,c,… )

đã được sử dụng trước đó. Và cách truy cập dữ liệu cũng không có gì khác.

Sử dụng chức năng Array.push():

Hàm push() khi được áp dụng vào các đối tượng sẽ thực hiện chức năng gán đối tượng (hoặc chuỗi) mới tới vị trí cuối cùng. Cách này thường được dùng để xác định 1 mảng nào đó từ khởi đầu, chúng ta có thể sử dụng cú pháp:

var as2D = new Array();
as2D[0] = new Array();
as2D[0].push( "a" );
as2D[0].push( "b" );
as2D[0].push( "c","d","e","f","g","h","i" );
as2D[0].push( "j" );
as2D.push( new Array( "A","B","C","D","E","F","G","H","I","J" ) );
as2D.push( [ "ä","ß","©","Ð","ë","Ø",">","½","î","ÿ" ] );

Cú pháp trên được dùng để tạo đối tượng có dạng mảng trong mảng, và cách thức hoạt động tương tự như ví dụ trên. Tuy nhiên, các bạn cần lưu ý rằng hàm push() cho phép người dùng dồn các phần dữ liệu đơn (như dòng 3,4 và 6) hoặc dữ liệu kép (dòng 5), còn dòng 7 và 8 sẽ dồn toàn bộ các dữ liệu vào vị trí top của mảng. Chúng ta có thể thấy sự khác biệt so với ví dụ trên khi không có minh họa:

var as2D= []; // or: new Array();
as2D.push( ["a","b","c","d","e","f","g","h","i","j"] );
as2D.push( ["A","B","C","D","E","F","G","H","I","J"] );
as2D.push( ["ä","ß","©","Ð","ë","Ø",">","½","î","ÿ"] );

Sử dụng chức năng String.split():

Hàm split() của đối tượng String trong JavaScript sẽ trả về đối tượng Array, và rất được sử dụng thường xuyên trong việc cố định Array với các biến đã được khởi tạo trước:

var sData1= "a,b,c,d,e,f,g,h,i,j";
var sData2= "A,B,C,D,E,F,G,H,I,J";
var sData3= "ä,ß,©,Ð,ë,Ø,>,½,î,ÿ";
var as2D= []; // or: new Array();
as2D[0]= sData1.split(",");
as2D[1]= sData2.split(",");
as2D[2]= sData3.split(",");

Tham số thứ 2 trong hàm split() có chức năng xác nhận tất cả các ký tự phân cách, trong trường hợp này chúng tôi sử dụng dấu phẩy. Có 1 quy luật như sau: nếu ký tự phân cách có dạng rỗng (“”), thì kết quả trả về sẽ là mảng dữ liệu cá ký tự riêng biệt.

var sData1= "abcdefghij";
var sData2= "ABCDEFGHIJ";
var sData3= "äß©ÐëØ>½îÿ";
var as2D= []; // or: new Array();
as2D[0]= sData1.split("");
as2D[1]= sData2.split("");
as2D[2]= sData3.split("");

hoặc:

var as2D= [];
as2D[0]= "abcdefghij".split("");
as2D[1]= "ABCDEFGHIJ".split("");
as2D[2]= "äß©ÐëØ>½îÿ".split("");

hoặc:

var as2D= "abcdefghij,ABCDEFGHIJ,äß©ÐëØ>½îÿ".split(",")
as2D[0]=as2D[0].split("");
as2D[1]=as2D[1].split("");
as2D[2]=as2D[2].split("");

hoặc thậm chí là:

var as2D= [
    "abcdefghij".split(""),
    "ABCDEFGHIJ".split(""),
    "äß©ÐëØ>½îÿ".split("")
];

Nếu đem so sánh đoạn mã cuối cùng với C++ thì JavaScript có một chút khác biệt: việc khai báo var chỉ là 1 phần của thủ tục được thực hiện trong quá trình thực thi.

Tạo mảng 2 chiều:

Sử dụng lệnh lặp for:

Lý do chính để tạo và sử dụng mảng 2 chiều là tại một thời điểm hoặc vị trí nào đó trong toàn bộ chương trình, chúng ta bắt buộc phải dùng các cấu trúc lệnh lặp nhau. Ví dụ:

for ( var y=0; y<3; y++ ) {
    for ( var x=0; x<10; x++ ) {
       // do something with myArray[y][x]
    }
}

Và quá trình này để phục vụ chương trình khi đi qua từng dòng và cột để truy cập dữ liệu tại những vị trí tương ứng. Ví dụ:

var sOut="<table border=2>";
for (var y=0; y<as2D.length; y++ ) {        // for each row
    sOut += "<tr>";
    for (var x=0; x<as2D[y].length; x++ ) { // for each clm
        sOut += "<td>" + as2D[y][x] + "</td>";
    }
    sOut += "</tr>";
}
sOut += "</table>";

sẽ tạo ra trang HTML có dạng như hình dưới:

image

Và nếu thay đổi vị trí của dòng và cột cho nhau:

var nClmsPerRow= as2D[0].length;      // assume same length
for ( var x=0; x<nClmsPerRow; x++ ) {  // for each row
    sOut += "<tr>";
    for ( var y=0; y<as2D.length; y++ ) { // for each clm
       sOut += "<td>" + as2D[y][x] + "</td>";
    }
    sOut += "</tr>";
}

Thì bảng của chúng ta sẽ có 10 dòng và 3 cột:

image

Sử dụng lệnh lặp for…in:

Bên cạnh đó, JavaScript còn cung cấp cho người sử dụng cấu trúc lặp lệnh khá đặc biệt thông qua mảng dữ liệu, đó là hàm for… in. Việc sử dụng chức năng này khá đơn giản khi đã biết rõ về điều kiện kết thúc vòng lặp (phần cuối cùng trong mảng dữ liệu). Và nó được sử dụng cùng với Collection và Array. Với Array thì cú pháp chung sẽ có dạng:

for ( nIdxVar in aArray )

Mỗi 1 vòng lặp sẽ thiết lập nIdxVar thành chỉ số lặp đi lặp lại (0, 1, 2,…), và quy trình này sẽ kết thúc khi tới vị trí cuối cùng trong mảng. Dưới đây là 1 vài đoạn mã có chức năng truy cập tới tất cả các thành phần trong ví dụ mảng 2 chiều bên trên:

for ( y in as2D ) {
   for ( x in as2D[y] ) {
       // do something with as2D[y][x];
   }
}

Phần giá trị thực của for…in sẽ xuất hiện khi chúng ta có sparse array ; cụ thể là trường hợp một số thành phần chưa được xác định rõ. Ví dụ như sau:

var aSparse= new Array;
aSparse[0]= ["zero",  "one",       "two"      ];
aSparse[4]= [      ,  "forty-one",            ];
aSparse[5]= ["fifty", "fifty-one", "fifty-two"];
for ( y in aSparse ) {
   for ( x in aSparse[y] ) {
       alert("y,x=(" +y+ "," +x+ ") value: " + aSparse[y][x] );
   }
}

sẽ bỏ qua các dòng từ 1 > 3, cột 0 và 2 của dòng 4, toàn bộ giá trị trong đây sẽ không được xác định. Và kết quả trả về tại đây sẽ có dạng:

y,x=(0,0) = 0
y,x=(0,1) = 1
y,x=(0,2) = 2
y,x=(4,1) = 40 – 1
y,x=(5,0) = 50
y,x=(5,1) = 50 – 1
y,x=(5,2) = 50 – 2

So sánh mảng 2 chiều và bộ tổ hợp đối tượng:

Trên thực tế, mảng 2 chiều rất phù hợp trong việc “đại diện” cho 1 ma trận với các đối tượng đã được xác định sẵn. Ví dụ: 1 bàn cờ có 8 x 8 ô, 1 màn hình sẽ có 1680 x 1050 ma trận điểm ảnh… Và do vậy, công thức x – y ma trận thường xuyên được sử dụng trong những chương trình nâng cao được viết bằng JavaScript.

Những trường hợp phổ biến hơn là mảng 1 chiều chính là danh sách các nhóm của nhiều đối tượng, thành phần khác nhau. Và cấu trúc này thường được áp dụng trong bộ tổ hợp cơ sở dữ liệu, danh sách các đối tượng <input> trên 1 trang web, các dữ liệu có liên quan tới quy trình shopping cart… Chúc các bạn thành công!

T.Anh (theo Experts Exchange)

Create Web Animations Using HTML5, CSS3 & JavaScript With The Help Of Adobe Edge


lash used tο bе thе king οf web animation, bυt now іt’s bееn slowly abandoned bесаυѕе οf thе possible future ruler: a combination οf HTML5, CSS3, аnԁ JavaScript. Even though Adobe іѕ still strongly supporting Flash, іt іѕ аƖѕο beginning tο embrace thе nеw alternative.

Thе proof іѕ Edge – thе nеw multi-platform tool frοm Adobe thаt wіƖƖ hеƖр users tο mаkе web animations using HTML5, CSS3, аnԁ JavaScript.

Gеt Tο Thе Edge

At thе moment, Edge іѕ still іn beta аnԁ available fοr free. Yου саn download thе application wіth signing іn using уουr Adobe ID. If уου don’t hаνе one, уου саn easily mаkе аn Adobe Tab.

081811_0432_CreateWebAn1

Thеn download аnԁ bed іn thе application according tο thе operating system thаt уου υѕе. Edge comes іn two flavors: PC аnԁ Mac. Thе beta version doesn’t require a serial number, bυt іt wіƖƖ expire within thе next 5 months.

081811_0432_CreateWebAn2

At thе еnԁ οf thе installation process, уου′ll see a notification window stating hοw many more days аrе left іn thе pre-release period. Mу guess іѕ thаt thе tool wіƖƖ ɡο commercial wіth thе beta period іѕ over, аnԁ wе аƖƖ know thе pricing range οf Adobe’s professional products. Sο іf уου want tο try Edge out fοr free, уου′d better download іt аѕ soon аѕ possible.

081811_0432_CreateWebAn3

Playing Around Wіth Samples

Tο hеƖр users bе wіth уου аbουt іtѕ nеw tools, Adobe provides a “Gеt Stаrtеԁ Wіth Edge” video tutorial аnԁ several downloadable sample animations. It’s recommended thаt уου mind thе video аnԁ play around wіth thе samples.

Thе video іѕ accessible via thе “Gеt Stаrtеԁ” pane whісh wіƖƖ appear whеn уου first open Edge. Thе pane аƖѕο gives уου access tο mаkе a nеw animation file οr open аn existing one.

081811_0432_CreateWebAn4

Thе interface іѕ divided іntο several main panes. Thе “Properties” pane οn thе left shows thе composition tools οf thе selected elements.

081811_0432_CreateWebAn5

Thе “Timeline” pane аt thе bottom shows thе choreography οf each animated element related tο thе timeline.

081811_0432_CreateWebAn6

081811_0432_CreateWebAn7

Mаkе A Simple Text Animation

Thе best way tο bе wіth уου аnу application іѕ tο υѕе іt. Sο, Ɩеt’s explore Edge bу tiresome tο mаkе a simple animated text.

  • Gο tο thе “File” menu аnԁ сhοοѕе “Nеw“.

 

081811_0432_CreateWebAn8

  • A “thе boards” wіƖƖ bе opened. Thіѕ іѕ thе canvas whеrе уου саn “choreograph” thе animation. Yου саn customize іtѕ name, size, аnԁ thе background color frοm thе Properties pane.

081811_0432_CreateWebAn9

  • Next, сhοοѕе thе “Text” tool аnԁ write a touch οn thе thе boards. Again, уου саn customize еνеrу aspect οf thе text frοm thе Properties pane.

081811_0432_CreateWebAn10

  • Tο animate thе text, ɡο tο thе timeline pane аnԁ modify each element οf thе text bу deciding whаt changes wіƖƖ happen tο іt, аnԁ whеn thе changes wіƖƖ happen.

081811_0432_CreateWebAn11

Basically, here’s whаt уου ѕhουƖԁ ԁο :

  • Chοοѕе thе diamond next tο thе “text” item οn thе Timeline pane,
  • Drag іt tο thе position thаt уου want,
  • Select thе text frοm thе thе boards,
  • Mаkе thе changes уου want tο thе text.

Yου саn add more text аnԁ οthеr elements such аѕ rectangles аnԁ/οr rounded rectangles. Sponge down аnԁ repeat thе animating process fοr thе οthеr elements.

Thе last step іѕ implementing thе animation οn уουr website. Tο ԁο thаt, уου hаνе tο save thе animation аѕ аn HTML file іn a folder, open thе HTML using a plain text editor, thеn copy аnԁ paste thе code tο уουr webpage (οr wherever уου want thе animation tο appear). Don’t nοt remember tο рƖасе thе “edge_includes” folder іn thе same location аѕ thе HTML file/code.

081811_0432_CreateWebAn12

Thе Next Gο

Oυr conduct experiment here іѕ very simple, bυt уου саn υѕе thе basics tο mаkе more elaborate web animations using Edge. Thе app itself іѕ still іn іtѕ ahead οf schedule stages, аnԁ thеrе′s nο doubt thаt іt wіƖƖ hаνе more elaborate features іn thе future.

At thе moment, HTML5 іѕ јυѕt building іtѕ baby steps іntο thе virtual world аnԁ nο one саn tеƖƖ whеn thіѕ newcomer wіƖƖ take thе throne. Bυt Adobe’s support fοr thе nеw standard іѕ surely blowing fresh air іntο thе web.

Sο whаt ԁο уου rесkοn? Arе уου still supporting Flash οr wіƖƖ уου stand behind HTML5? Hаνе уου tried Edge? Share уουr opinions іn thе comments below.

Source : http://tricks4pc.com/mac/create-web-animations-html5-css3-javascript-adobe-edge.html

Private Programming and Private Web developers – javascript


javascript is essentially about things. So what are objects’ javascript is a marvellous resource to enhance the simplicity of Internet Sites. It’s the more layer over the draw-up Half inchwhat on earth is this wordingHalf inch & the CSS Half inchhow should it be displayedHalf inch. javascript can often be considered An Online Website scripting words, using a consultant function of influencing Code internet pages. javascript is, nonetheless, holistic-function Turing-entire words: the best way to demonstrate it is to emulate yet another technique through javascript.

javascript is hosted by many different types of Internet Internet explorer, which is normally our key methods to change a browser’s Dominic. While evidently governed by W3C expectations, everybody knows each one visitor contains versions and idiosyncrasies. javascript is generally wrote (it’s not necessary to outline the datatype of issues) although Coffee seriously isn’t. javascript is mainly implemented Office Outlook download in a visitor, where Coffee can be used to develop stand alone purposes. javascript is witout a doubt just a few the visitor to be aware of it & ensure it is awaken.

javascript is usually a bastardised words, delivered beyond prerequisite sufficient reason for almost never and forethought. It really is borrowed options from other ‘languages’ – the syntax from Coffee, the characteristics from Plan, the prototypal inheritance from Do-it-yourself, regular words from Perl et cetera. javascript is usually a impressive scripting words employed to include active content material to Internet Internet pages. It is primarily beneficial for every day responsibilities like private data acceptance and creating active food list elements. javascript is ready to move to heart point because the growth and supply engineering for Internet Blogging Platforms.x purposes. Previously, most organization and product or service web developers clustered to Coffee or HNumber although Internet free lance programy web designers transferred to PHP, Perl, Python & now Dark red, generally overlooking the online world Net based scripting words known as javascript.

javascript is not the only words Internet Sites use for applications delivered to the consumer. Expensive sustains free lance selection through an prolonged plan of javascript. javascript may be the only definitely wide-spread, multiplatform answer the present day IT globe has found. But yet, it caused it to be. javascript is the best place to begin to educate yourself scripting as it would be normally significantly less intricate than other scripting ‘languages’, which is customer-facet Ha However, you computer code internet pages now could be excellent ‘

javascript is a great free lance selection words to work with to provide an engaged plugin to the Internet Site. Contain several control buttons for the plugin to grant consumers an even more active practical knowledge. javascript is a really expressive words and, because of this, you will discover lots of techniques you can use YouTube Downloader download to create lso are-practical and extensible computer code. Some Tips I-explain this is by no means the last respond to on that theme. javascript may be the only free lance selection words which includes actually shipped on each and every client laptop or computer, possesses done this during the last few years. Of these posting-QBasic periods, Code, CSS, and javascript have grown to be for every single ungainly, bespectacled troglodyte the entry from public exile to more deeply public exile.

javascript is probably at its greatest when it foliage the intricate object controlling goods for the variety program that the translator is embedded in. Your program can hence continue to be short and sweet and get impressive effects with the variety things subjected without true requirement for an OO thought in your thoughts. javascript is, needless to say, the scripting words employed to regulate active options in Pdf file data & to improve functions in Acrobat. It didn’t just signifigantly show up some day and fasten per se to Acrobat.

Top 10 Mobile Web Development JavaScript Frameworks


0180-01_javascript_mobile_frameworks_thumbnail

Creating web apps and sites for the Mobile Web has its own sets of challenges and techniques. From UIs optimized for fingers instead of mouse cursors to the bandwidth limitations that most portable personal devices have, developing for mobile devices requires a paradigm shift for those of us who’ve traditionally created products aimed at desktops.

To help you rapidly deploy cross-platform mobile apps and websites, there’s a wide range of JavaScript frameworks you can take advantage of.

Some common characteristics of JavaScript mobile web development frameworks:

  • Optimized for touchscreen devices: Fingers as input devices instead of mouse cursors provide an extra set of challenges in user interface design. Mobile web development frameworks provide standard UI elements and event-handling specifically for mobile device platforms.
  • Cross-platform: Support for multiple mobile device platforms such iOS and Android allows you to get your app to a wide range of users.
  • Lightweight: Because of current bandwidth limitations, a stronger emphasis on lowering file weight is placed into mobile web development frameworks.
  • Uses HTML5 and CSS3 standards: Most mainstream mobile devices have web browsers that support HTML5 and CSS3, and so mobile web development frameworks take advantage of new features available in these upcoming W3C specifications for a better user experience.

In this article, you’ll find my top picks of JavaScript mobile web development frameworks you should consider using to build your next mobile web app or website.

1. jQuery Mobile

jQuery Mobile

jQuery Mobile, a framework that will help you rapidly and confidently develop mobile app user interfaces across popular mobile device platforms like iOS and Android, is perhaps the most popular project out there.

The framework boasts a lightweight code base (weighing in at 20KB when minified and gzipped) and a huge bevy of standard user interface elements that mobile device users are accustomed to, such as switches and sliders.

See jQuery Mobile in action by going to its demo page (it doubles as the framework’s official documentation).

If jQuery isn’t your thing, check out MooTools Mobile, a MooTools plugin by MooTools core developer Christoph Pojer and Dojo Mobile, which leverages the Dojo API to help developers rapidly build apps for mobile platforms.

2. Titanium Mobile

Titanium Mobile

This powerful and robust mobile web development framework allows you to use your existing HTML, CSS and JavaScript knowledge to make native-like mobile apps for iOS and Android.

As one of the bigger mobile web development frameworks out there — with over 300 APIs and an active developer community — you know you’ll often find help and support from peer developers.

Titanium Mobile supports native UI elements for iOS and Android like table views, tabs, switches and popovers. It also has features that enable you to interact with the mobile devices’ camera and native file storage system.

3. The-M-Project

The-M-Project

The-M-Project is another solid JavaScript framework that takes advantage of new HTML5 features for easier and better mobile app development.

The framework follows the popular model-view-controller (MVC) software architecture pattern, which is a huge selling point for many developers.

It has offline support so that your users can continue working without an Internet connection (they can then sync up to the server next time they’re online) and excellent documentation (the project has a Getting Started guide for new users of the project).

To witness The-M-Project in action, check out their showcase, which includes items like the ToDo App and KitchenSink (a showcase of all the UI elements included in the framework).

4. Jo

Jo

Jo is a framework aimed at developers working on HTML5-capable mobile devices such as those the use the iOS, webOS, Android and Chrome OS platforms.

It has standard, native-like UI elements such as the web form widget for your login screens and the popup widget that you can use for providing extra information when a user clicks on an interface element.

See the demo page on their site, which includes a screencast displaying Jo in action on multiple devices and mobile platforms.

5. xui.js

xui.js

If you need something super lightweight and you only need features for standard client-side development tasks such as DOM manipulation, event-handling, Ajax and a few animation effects, check out xui.js. xui.js packs a punch in such a tiny package (4.2 KB when gzipped).

xui.js provides targeted builds for specific mobile browsers such as WebKit and IE mobile for when you’re developing apps strictly towards a particular mobile device operating system.

6. EmbedJS

EmbedJS

EmbedJS is a JavaScript framework for embedded devices (which includes mobile phones, TVs, tablets and so forth).

What’s great about EmbedJS is that it has multiple builds for specific platforms and browsers such as iOS, Firefox, Android, etc., which translates to an optimal user experience and less code to serve to your users. And if you’d like to customize your build, the creators provide you with the EmbedJS Build tool.

EmbedJS is based on Dojo, so if you’re familiar with the Dojo API syntax, you’ll be able to use EmbedJS right away.

7. zepto.js

zepto.js

zepto.js is a mobile JavaScript framework built specifically for mobile WebKit browsers (e.g. Safari and Chrome). It prides itself in its minimalist development philosophy, which translates to simplicity for helping developers get stuff done quickly. What’s more is that this JS framework is ultra-lightweight at only 5KB.

The zepto.js syntax borrows from, and is compatible with, jQuery — a welcome plus for many developers.

To learn more about this framework, see developer Thomas Fuchs’ presentation of zepto.js.

8. DHTMLX Touch

DHTMLX Touch

DHTMLX Touch, a free HTML5/JavaScript framework optimized for touchscreen devices, brings you the ability to craft beautiful mobile web apps quickly.

The DHTMLX Touch UI Designer is a visual editor for building mobile user interfaces, and it’ll help you construct top-notch UIs with minimal coding.

Check out samples of DHTMLX Touch in action, which includes a menu app for the iPad (perfect for restaurants) and Book Shop (a proof-of-concept demo for an e-store offering books).

9. Mobilize.js

Mobilize.js

Mobilize.js is a JavaScript framework for porting your existing website to a mobile-friendly version. It’s easy to integrate into your site because it does everything on the client-side, and has facilities for detecting mobile browsers so that you can serve them the mobile version of the site.

WordPress users might want to check out the Mobilize.js WordPress plugin.

10. ChocolateChip Mobile

ChocolateChip Mobile

ChocolateChip Mobile is a JavaScript framework developed towards future-forward web browsers. It shares syntax similar to jQuery or Prototype.

The resemblance to jQuery doesn’t stop at the syntax — for example, like jQuery, it can handle events through binding and delegation, and has methods such as .css and .toggleClass.

You can grab ChocolateChip Mobile’s source code off GitHub.

Other JavaScript Libraries for Mobile Web Development
  • jQTouch: a jQuery plugin specifically for Android and iOS devices.
  • jqpad: a web development framework built and optimized for iPad development.
  • iUI: a user interface framework for making iPhone-like web apps.

HTML and JavaScript for visual learners


HTML and JavaScript for visual learners

0970747926.01._SCLZZZZZZZ_

Download tại đây