Разработка Web-приложений для iPhone
.pdf#"30)/&D-2 (&,-#- " 2-3> "+30.&>. <7*)&+6 -( 3"$@801+& - ,)-%0#+- 1& WEB #+)&1-C0 +0.0B"1 - -84 #"+)@31-$& # 1&-8016E02 (&),.&+"2.
4.< #,-#$&> ")?&1-(&C-- ,)-%03017 3&1170 " " (&$&(&> - (&$&(:-$&> (1"80) (&$&(&, +0.0B"1 (&$&(:-$&, -801& (&$&(:-$"%, #+"-8"#+6 (&$&(&). A"(3&+6 XML 3"$@801+, #"30)/&D-2 (&,-#- " 10#$".6$-> (&$&(&>. <7*)&+6 -( 3"$@801+& - ,)-%0#+- 1& WEB #+)&1-C0 3&1170 "* -801- - +0.0B"10 (&$&(:-$&, #30.&%E0?" (&$&( ,"#.031-8 (F"3#$&($&: 1"80) (&$&(& *@30+ 8&$#-8&.6178).
5.< ,.&1&> ")?&1-(&C-- ,)-%03017 3&1170 " 30,&)+&801+&> - ,)"0$+&> (J&(%&1-0 30,&)+&801+&, 1&(%&1-0 ,)"0$+&, +0.0B"1 30,&)+&801+&, 1&(%&1-0 ,)"0$+&, #+"-8"#+6 ,)"0$+&). A"(3&+6 XML 3"$@801+, #"30)/&D-2 (&,-#- " 10#$".6$-> 30,&)+&801+&>, ," 10#$".6$@ ,)"0$+"% % $&/3"8. <7*)&+6 -( 3"$@801+& - ,)-%0#+- 1& WEB #+)&1-C0 3&1170 " 1&(%&1-- ,)"0$+& - +0.0B"10 30,&)+&801+& # 8&$#-8&.61"2 #+"-8"#+6= ,)"0$+&.
6.< +&*.-C0 ,)"0$+"% ,)-%03017 3&1170 " 1&(%&1-- ,)"0$+&, B&8-.-- )@$"%"3-+0.4 - #+"-8"#+- ,)"%0301-4 ,)"0$+&. S3-1 )@$"%"3-+0.6 8"/0+ %0#+- 10#$".6$" ,)"0$+"%.A"(3&+6 XML 3"$@801+, #"30)/&D-2 (&,-#- " 10#$".6$-> ,)"0$+&> # )&(.-:178- )@$"%"3-+0.48-. J&2+- )@$"%"3-+0.4, %03@D0?" ,)"0$+7 # 8&$#-8&.61"2 #@88&)1"2 #+"-8"#+6=. F"$&(&+6 1& WEB #+)&1-C0 B&8-.-= )@$"%"3-+0.4, :-#." ,)"%"3-87> -8 ,)"0$+"% - #@88&)1@= #+"-8"#+6 ,)"0$+"%.
3.21. D)+4/)*8+'# &)(/)0'
1.G&$ ,".@:-+6 3"$@801+ # #0)%0)&?
2.G&$ -( (&,)"#& #"(3&+6 XMLObject?
3.G&$ -( "*R0$+& ,".@:-+6 "*R0$+7-+0?-?
4.G&$ -( "*R0$+& +0?& ,".@:-+6 (1&:01-0 &+)-*@+&?
5.G&$ -( "*R0$+& +0?& ,".@:-+6 3&1170?
6.XML HTTP (&,)"#7 %7,".14=+#4 -1>)"11". F"4#1-+0 #,"#"* %7,".101-4 (&,)"#& - ,"4#1-+0 $&$ 8"/1" ,0)03&+6 @,)&%.01-0 Javascript $"3@, "*)&*&+7%&=D08@ )0(@.6+&+7 (&,)"#&
7.F)-%03-+0 80+"3 Javascript 3.4 #"(3&1-4, "+,)&%$- - "*)&*"+$- XML HTTP (&,)"#&. F"4#1-+0 #,"#"*7 3"#+@,& $ &)?@801+&8 - 3&1178 +0?&. F)-%03-+0 -..=#+)-)@=D-2 ,"4#101-0 $"3.
8.P0?- % XML HTTP (&,)"#&> 8"?@+ *7+6 %."/01178-. G&$-8 "*)&("8 8"/1" ",)030.-+6, :+" 3&1172 @)"%016 3)@?-> %."/0117> +0?"% 10 #"30)/-+?
9.P0?- % XML HTTP (&,)"#&> 8"?@+ *7+6 %."/01178-. F"$&/-+0 $&$-8 "*)&("8 % ,)"?)&880 8"/1" ,".@:-+6 3"#+@, $ &+)-*@+&8 - 3&1178 %."/0117> +0?"%. J&,-E-+0 10"*>"3-872 $"3.
10.F)-%03-+0 #>08@ "*801& -1B")8&C-02 # #0)%0)"8 3.4 "*1"%.01-4 :+- WEB #+)&1-C7. (1&,)-80) +08,0)&+@)7 %"(3@>& - %.&/1"#+- % ,"80D01-- $"8,&1--). H&1170 1& $"),")&+-%1"8 #0)%0)0 "*1"%.4=+#4 1 )&( % 20 8-1. F)-%03-+0 B)&?801+7 $"3&, ,"4#14=D-0 <&E0 )0E01-0.
11.S*3@8&2+0 - ,"4#1-+0 80>&1-(8 ,0)03&:- 3&117> 1& #0)%0) % %-30 XML B&2.&. !"/1" .- %7,".1-+6 I+- 302#+%-4 *0( ,0)0(&?)@($- WEB #+)&1-C7? F)-%03-+0 ,"4#14=D-2 ,)-80).
71
:/,*)9#+,#
F)- #"(3&1-- - -#,".6("%&1-- XML HTTP (&,)"#"% 10$"+")70 ,)"*.087 %"(1-$&=+ # *)&@(0)"8 M1+0)10+ K$#,.")0) (IE). H0." % +"8, :+" IE 10 @800+ )&*"+&+6 # "*R0$+&8- XMLHttpRequest. IE -#,".6(@0+ 3.4 %7,".101-4 &1&."?-:17> 302#+%-2 "*R0$+7 ActiveX. '0E01-4, "#1"%&1170 1& ,)"%0)$0 B@1$C-"1&.61"#+- *)&@(0)"%, ,)-%"34+#4 1-/0.
1) J0"*>"3-8" -(801-+6 #,"#"* #"(3&1-4 (&,)"#& 1& #.03@=D-2
var myRequestForUsers = new ajaxRequest();//V&,)"# $ #0)%0)@
2) H.4 #"(3&1-4 (&,)"#& 1@/1" -#,".6("%&+6 B@1$C-= (L-#+-1? F.1)
//Ajax
function ajaxRequest(){
//A@D0#+%@=D-0 )0/-87
//A1&:&.& ,)"%0)40+#4 IE
var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];//
if(window.ActiveXObject){
for(var i=0;i<activexmodes.length;i++){ try{
//,)"%0)$& ,"330)/$- )0/-8&
return new ActiveXObject(activexmodes[i])
}
catch(e) { //8"#0$3&9 "53;!3
}
}
}
else {//Safari, FF if(window.XMLHttpRequest)
return new XMLHttpRequest(); else
return false;
}
}
+'*$'", F.1. Q")8-)"%&1-0 (&,)"#&
P&$&4 B@1$C-4 %0)10+ ,"330)/-%&0872 "*R0$+ 3.4 IE, -.- +)0*@0872 "*R0$+ 3.4 IE
-.- Firefox.
3) 5+"*7 %7,".1-+6 (&,)"# # @:0+"8 #,0C-B-$- *)&@(0)&, 1@/1" +&$/0 1081"?" ,"8014+6 $"3 (L-#+-1? F.2)
//C0! :08-%&3&9 :08'"% function requestPartners(){
myRequest.open("GET","partners.xml"); myRequest.setRequestHeader("Cache-Control","no-cache"); //U7." )&100: myRequest.onload=getPartners;
// J0"*>"3-8" #02:: myRequest.onreadystatechange=function(){
72
if(myRequest.readyState==4){//(&?)@($& (&%0)E01& if(myRequest.status==200){ //3"$@801+ ,".@:01 @#,0E1"
getPartners();
return;
}
}
}
myRequest.send("");
}
F"$&(&1170 -(80101-4 ,"(%".4=+ @#,0E1" -#,".6("%&+6 XML HTTP (&,)"#7 1& )&(.-:17> *)&@(0)&>.
G%:.1%"'.. P&$-0 -(80101-4 10"*>"3-87 +".6$" 3.4 IE. H.4 iPhone - iPod Touch 1-:0?" ,"3"*1"?" 30.&+6 10 1&3". Safari )&*"+&0+ %0.-$".0,1"!
73
90$)%.$C%.
1)Safari Database Programming Guide
2)www.sqlite.org
3)www.javascriptkit.com
74
<"/)%8.#0)
1. |
F)03%&)-+0.6170 #%0301-4.................................................................................................... |
3 |
|
1.1. S#1"%1"2 E&*."1 ,)-."/01-4...................................................................................... |
3 |
|
1.2. M#,".6("%&1-0 &+)-*@+& 'id' 3.4 3"#+@,& $ I.0801+&8 HTML 3"$@801+& ................... |
4 |
|
1.3. A%"2#+%" innerHTML...................................................................................................... |
5 |
|
1.4. P&*.-C7 .......................................................................................................................... |
6 |
|
1.5. F)-80101-0 *."$"% div .................................................................................................. |
7 |
|
1.6. S+."/011"0 -#,".101-0 $"3&. Q@1$C-4 setTimeout() .................................................. |
9 |
|
1.7. '&*"+& # -("*)&/01-48-. F)"%0)$& (&%0)E01-4 (&?)@($-.......................................... |
10 |
|
1.8. G"1+)".6170 %",)"#7...................................................................................................... |
12 |
|
1.9. V&3&1-4 3.4 #&8"#+"4+0.61"2 ,)")&*"+$-...................................................................... |
12 |
|
1.10. V&$.=:01-0..................................................................................................................... |
13 |
2. |
G.-01+#$-0 *&(7 3&117> ..................................................................................................... |
14 |
|
2.1. G.-01+-#0)%0)170 ,)-."/01-4 ....................................................................................... |
14 |
|
2.2. L"$&.6170 *&(7 3&117>................................................................................................... |
15 |
|
2.3. A"(3&1-0 -.- -1-C-&.-(&C-4 $.-01+#$"2 *&(7 3&117> ................................................ |
15 |
|
2.4. A>08& %(&-8"302#+%-4 # *&("2. ;#-1>)"1170 ",0)&C-- ............................................... |
16 |
|
2.5. A"(3&1-0 #"03-101-4 # #0)%0)"8..................................................................................... |
17 |
|
2.6. P)&1(&$C-- ....................................................................................................................... |
18 |
|
2.7. S*)&*"+$& (&%0)E01-4 %7,".101-4 $"8&13................................................................... |
20 |
|
2.8. 9:0*1&4 *&(& 3&117>........................................................................................................ |
21 |
|
2.9. A"(3&1-0 - @3&.01-0 +&*.-C............................................................................................ |
22 |
|
2.10. F".4 3.4 )03&$+-)"%&1-4 3&117> ................................................................................. |
23 |
|
2.11. H"*&%.01-0 3&117> % +&*.-C7 ...................................................................................... |
24 |
|
Q@1$C---"*)&*"+:-$- ........................................................................................................ |
25 |
|
2.12. S*1"%.01-0 #"30)/-8"?" +&*.-C.................................................................................. |
25 |
|
Q@1$C---"*)&*"+:-$- ........................................................................................................ |
26 |
|
2.13. <7*")$& 3&117>............................................................................................................. |
26 |
|
Q@1$C---"*)&*"+:-$- ........................................................................................................ |
27 |
|
2.14. <",)"#7 $"3-)"%$- +0$#+"% .......................................................................................... |
28 |
|
2.15. F)"#8"+) *&( 3&117> :0)0( *)&@(0).............................................................................. |
28 |
|
2.16. 93&.01-0 -1B")8&C-- " $1-?0 -( *&(7......................................................................... |
30 |
|
2.17.S*1"%.01-0 -1B")8&C-- % +&*.-C&> ............................................................................. |
31 |
|
2.18. <7*")$& 3&117> -( 10#$".6$-> +&*.-C ........................................................................ |
32 |
|
Q@1$C---"*)&*"+:-$- ........................................................................................................ |
32 |
|
F)"%0)$& ,)&%-.61"#+- (&,-#- (&,)"#&............................................................................. |
33 |
|
2.19. F)03#+&%.01-4................................................................................................................ |
33 |
|
A"(3&1-0 ,)03#+&%.01-2..................................................................................................... |
33 |
|
<7*")$& 3&117> -( ,)03#+&%.01-4 .................................................................................... |
34 |
|
M#,".6("%&1-0 ,)03#+&%.01-2 3.4 (&10#01-4 -1B")8&C-- % *&(@................................... |
34 |
|
P)-??0)7.............................................................................................................................. |
35 |
|
2.20. S*)&*"+$& 3)@?-> (&,)"#"%, %"(%)&D&=D-> 3&1170 ................................................... |
36 |
|
S*)&*"+$& @#,0E1"?" (&%0)E01-4..................................................................................... |
37 |
|
2.21. Q@1$C-- "*)&*"+$- 3&117>........................................................................................... |
37 |
|
2.22. F".172 +0$#+ ,)-."/01-4............................................................................................. |
38 |
|
S#1"%1&4 #+)&1-C& ,)-."/01-4......................................................................................... |
38 |
|
G"3 ,)-."/01-4. JavaScript ................................................................................................ |
39 |
|
H02#+%-4 10 #%4(&1170 # *&("2 3&117>. Q&2. main.js....................................................... |
40 |
|
<(&-8"302#+%-0 # *&("2 3&117>. Q&2. dbSQLStore.js ...................................................... |
41 |
75 |
|
|
G"1+)".6170 %",)"#7 ............................................................................................................ |
47 |
V&3&1-4 3.4 #&8"#+"4+0.61"2 ,)")&*"+$-............................................................................. |
47 |
V&$.=:01-0.............................................................................................................................. |
48 |
3. XML HTTP (&,)"#7............................................................................................................. |
49 |
3.1. A>08& %7,".101-4 XML HTTP (&,)"#&.......................................................................... |
49 |
3.2. H"$@801+7 XML .............................................................................................................. |
50 |
3.3. S*R0$+7 XML................................................................................................................... |
51 |
3.4. S*)&*"+$& (&,)"#& #0)%0)"8............................................................................................ |
52 |
3.5. S*)&*"+$& )0(@.6+&+& % $.-01+#$"8 ,)-."/01-- .......................................................... |
55 |
3.6. F".172 +0$#+ ,)"?)&887 ................................................................................................ |
56 |
3.8. F".@:01-0 &+)-*@+"% - 3&117> -( XML "*R0$+&........................................................... |
57 |
3.9. F".172 +0$#+ ,)-."/01-4............................................................................................... |
60 |
3.10. V&3&1-0............................................................................................................................ |
61 |
3.11. F)0"*)&("%&1-0 XML "*R0$+& % #+)"$@ +0$#+&............................................................. |
62 |
3.12. H",".1-+0 +0$#+ B@1$C--............................................................................................. |
63 |
3.13. M(80101-0 &+)-*@+"% - 3&117> % XML "*R0$+0........................................................... |
63 |
3.14. 93&.01-0 &+)-*@+"% - @(."% XML "*R0$+&................................................................... |
64 |
3.16. M(80101-0 #+)@$+@)7 XML "*R0$+&. G."1-)"%&1-0 I.0801+&.................................... |
65 |
3.17. M(80101-0 #+)@$+@)7 XML "*R0$+&. A"(3&1-0 "*R0$+& -( #+)"$- +0$#+&.................. |
65 |
3.18. M1+0?)&C-4 # *&(&8- 3&117> ......................................................................................... |
66 |
3.19. V&3&1-4 3.4 #&8"#+"4+0.61"2 ,)")&*"+$-.................................................................... |
70 |
3.21. G"1+)".6170 %",)"#7.................................................................................................... |
71 |
F)-."/01-0............................................................................................................................. |
72 |
L-+0)&+@)&............................................................................................................................... |
74 |
A"30)/&1-0 ............................................................................................................................. |
75 |
76