рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрджреНрд░рд┐рдд рдкреБрд╕реНрддрдХреЗрдВ рдЕрддреАрдд рдХреА рдмрд╛рдд рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рдирдИ рдкреАрдврд╝реА (рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд░рдо) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рди рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреА рд╕рд╛рдордЧреНрд░реА, рдПрдХ рдХрд┐рддрд╛рдм рдХреА рддрд░рд╣, рдмрд▓реНрдХрд┐ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЖрд╡реЗрд╖рдг рдХреЗ рд╕рд╛рде рдкрдврд╝рдиреЗ рдореЗрдВ рд╡рд┐рд╡рд┐рдзрддрд╛ рд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА (рдЯреНрд╡рд┐рдЯрд░ рдлрд╝реАрдб, рдЖрджрд┐), рдпрд╛ рдХреБрдЫ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕рд╛рдордЧреНрд░реА (рд╕рдВрдзрд╛рд░рд┐рддреНрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдПрдиреАрдореЗрд╢рди, рдЖрджрд┐) рдХреА рддрд░рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
Apple рдиреЗ IBOOK рд▓реЗрдЦрдХ рдРрдк рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ IBOOKS iPad рдРрдк рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХрд┐рддрд╛рдмреЗрдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдЬ рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд╡рд┐рдЯрд░ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП HTML рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред
рд╡рд┐рдЧреЗрдЯреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВ, рдЬрд┐рдирдХреА рд▓рд╛рдЧрдд 0 (рдбреИрд╢рдХреЛрдб) рд╕реЗ 60 (Tumult
Hype ) рддрдХ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИред
рд╣рдо рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдЕрдкрдиреЗ рд╡рд┐рдЬреЗрдЯ "рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ" рдмрдирд╛рдПрдВрдЧреЗред
рдЕрдм рдореИрдВ рд╢рдмреНрджреЛрдВ рд╕реЗ рдХрд░реНрдореЛрдВ рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред
рд╡рд┐рдЬреЗрдЯ рд╕рдВрд░рдЪрдирд╛
IBOOK рдХреЗ рд▓рд┐рдП HTML рд╡рд┐рдЬреЗрдЯ wdgt рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓рд╛ рдПрдХ рдлреЛрд▓реНрдбрд░ рд╣реИред
HTML рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдк рдирд┐рдореНрди рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- Default.png = рдлрд╝рд╛рдЗрд▓ - рд╡рд┐рдЬреЗрдЯ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрдиред рдпрд╣ рдЫрд╡рд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рддрдм рддрдХ рджрд┐рдЦрд╛рдИ рдЬрд╛рдПрдЧреА рдЬрдм рддрдХ рд╡рд╣ рд╡рд┐рдЬреЗрдЯ рд▓реЙрдиреНрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдордЬрдмреВрдд рдФрд░ рдорд╛рдорд▓рд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИред рд╡рд┐рдЬреЗрдЯ рдХрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди (рдЬрдм рддрдХ рдХрд┐ рдЕрдиреНрдпрдерд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рди рд╣реЛ) рдЗрд╕ рдЪрд┐рддреНрд░ рдХреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ред
рд░реЗрдЯрд┐рдирд╛: рдпрджрд┐ рдЖрдк рдПрдХ рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд░реЗрдЯрд┐рдирд╛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ Default@2x.png рдлрд╛рдЗрд▓ рднреА рдмрдирд╛рдиреА рд╣реЛрдЧреА, рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ Default.png рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджреЛрдЧреБрдирд╛ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╣реИред - рдореБрдЦреНрдп HTML рдлрд╝рд╛рдЗрд▓ - рдЖрдк рдХреЛрдИ рднреА рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рдФрд░ рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЗрдВ рджреЛрдиреЛрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ (рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИ, рд╕рдм рдХреБрдЫ рд╡реЗрдм рдкреЗрдЬ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИ)
рд░реЗрдЯрд┐рдирд╛: рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рд░реЗрдЯрд┐рдирд╛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреЗ рд╕рдорд╛рди рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ ( рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд▓реЗрдЦ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдм рдкрд░ рдЪрдкрдЯрд╛ рд╣реБрдЖ рд╣реИ) - Info.plist - рд╡рд┐рдЬреЗрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓ред рдЗрд╕рдореЗрдВ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдирд╛рдо, рдЗрд╕рдХрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди, рдореБрдЦреНрдп HTML рдлрд╝рд╛рдЗрд▓ рдЖрджрд┐ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдЪрд▓реЛ рдЗрд╕ рдкрд░ рдереЛрдбрд╝рд╛ рдФрд░ рдзреНрдпрд╛рди рджреЗрдВ ...
Info.plist - рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреНрдпрд╛ рд╣реИ?
рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдПрдХ xml рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ
<key></key> < ></ >
рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреИрд░рд╛рдореАрдЯрд░:
- CFBundleDevelopmentRegion - рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд┐рдЬреЗрдЯ рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рдореВрд▓ рднрд╛рд╖рд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдЕрдВрдЧреНрд░реЗрдЬреА, рд░реБрд╕рд┐рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
- CFBundleDisplayName - рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░, рдЬрд┐рд╕рдХрд╛ рдорд╛рди рд╡рд┐рдЬреЗрдЯ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЯреНрд╡рд┐рдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
- CFBundleIdentifier - рдЖрд╡рд╢реНрдпрдХ; рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдЬреЗрдЯ рдХреЛ рдкрд╣рдЪрд╛рдирддреА рд╣реИред рдПрдХ рдЙрд▓реНрдЯреЗ рдбреЛрдореЗрди рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: ru.MySite.widgets.Twitter
- CFBundleName - рд╡рд┐рдЬреЗрдЯ рдХреЗ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ред
- CFBundleVersion рдФрд░ CFBundleShortVersionString - рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ - рд╡рд┐рдЬреЗрдЯ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рд▓реЗ рддрд╛рд░ред "рд▓рдВрдмреА" рдФрд░ "рд▓рдШреБ" рд╕рдВрд╕реНрдХрд░рдг, рдХреНрд░рдорд╢рдГ
- рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред - рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдореВрд▓реНрдп рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд╡рд┐рдЬреЗрдЯ рдХреА рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВ
- IBNotifyOnReady - рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ред рдЬрдм рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рдЬреЗрдЯ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддрдм рдмрддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЪрд┐рддреНрд░ рдХреЛ рд╣рдЯрд╛рдХрд░ HTML рдХреЛрдб рдореЗрдВ рдЬрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ (рдЬрдм рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рддрдХ рд╡рд┐рдЬреЗрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╣реЛ, Default.png рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛ) рдпрджрд┐ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛ рддреЛ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдЬреЗрдЯ рдХреЛ "рдЬрдЯрд┐рд▓ рдЧрдгрдирд╛" рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдпрд╛ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ... (рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬрдм рд╡рд┐рдЬреЗрдЯ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП "рдЬрд╛рдирдХрд╛рд░реА рддреИрдпрд╛рд░ рдХрд░реЗрдЧрд╛")ред рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрд╕реЗ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред HTML рд╕реЗ рдЫрд╡рд┐ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╡рд┐рдЬреЗрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рдирдХрдВрдЯреНрд░реА рд░реАрдб ()
- MainHTML - рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛, рд╡рд┐рдЬреЗрдЯ рдХреА рдореБрдЦреНрдп HTML рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╣рд▓реЗ рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рдЕрдм рдЖрдЗрдП рд╡рд┐рдЬреЗрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВред
рд╕реАрдзреЗ рдПрдХ рд╡рд┐рдЬреЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ
рд╣рдо рд╡рд┐рдЬреЗрдЯ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ
рд▓реЗрдЦрдХ рд╡рд┐рдЬреЗрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢рд░реНрддреЗрдВ рд▓реЗрддреЗ рд╣реИрдВ:
- рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╡рд┐рдЬреЗрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ, рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╣реИрд╢рдЯреИрдЧ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
- рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ "рдкреНрд░рд╛рд░реВрдк" рдореЗрдВ рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ
- "Imports" рдЯреНрд╡рд┐рдЯрд░ рдПрдкреАрдЖрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЗрд╕рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ
- рдбреЗрдЯрд╛ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рддрд░реАрдХреЗ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░рддрд╛ рд╣реИ
рдЗрд╕ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ, рд╣рдо JQuery рд▓рд╛рдЗрдмреНрд░реЗрд░реА (JSON рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдФрд░ AJAX рдЕрдиреБрд░реЛрдз рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
Html рдлрд╝рд╛рдЗрд▓
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ "рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ" рд▓рд╛рдн рдирд╣реАрдВред рднрд╡рд┐рд╖реНрдп рдХреЗ рдЯреНрд╡реАрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реЛрддрд╛ рд╣реИ:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <script type="text/javascript" src="jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="style.css"/> </head> <body> <input type="hidden" id="ID" value="SomeWidgetIDForServerQuery" /> <div id='tweet-container'> </div> <script type="text/javascript" src="ServerQuery.js"></script> </body> </html>
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд░рд╛рдИ
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ AJAX рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рд╕реАрдорд╛ рд╣реИред рд╣рдо рд╕реАрдзреЗ рдРрд╕реЗ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рднреЗрдЬ рдкрд╛рдПрдВрдЧреЗред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЕрдиреБрд░реЛрдз рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдПрдЧрд╛, рд╕рд░реНрд╡рд░ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд┐рдЬреЗрдЯ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рд░рд╛рд╕реНрддрд╛ JSONP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред
рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдпрд╣ рдПрдХ рдкреИрдЯрд░реНрди рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдПрдХ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдФрд░ рдбреЛрдореЗрди рдкреНрд░рддрд┐рдмрдВрдз рдиреАрддрд┐ "рдмрд╛рдпрдкрд╛рд╕" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдпрд╣ рддрд░реАрдХрд╛ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?
рд╡рд┐рдЬреЗрдЯ рдПрдХ GET рдЕрдиреБрд░реЛрдз рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ (рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдореЗрдВ рд▓рд┐рдкрдЯреЗ рдбреЗрдЯрд╛ рдХреЛ рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
callback-( JSON);
рд╣рдо рдЙрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рд░реНрд╡рд░ рднреЗрдЬреЗрдЧрд╛: рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдбреЗрдЯрд╛ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдирд╛рдо рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рд╣рдо рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╣реИрд╢рдЯреИрдЧ рджреЛрдиреЛрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)
рдирдореВрдирд╛ рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛:
jsonp_callback({"results":[{"name":"user1"},{"name":"#hashCode1"}]})
рд╣рдо рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧреА рдФрд░ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧреА, рдЗрд╕реЗ рдЯреНрд╡рд┐рдЯрд░ рдореЗрдВ "рдЖрд╡рд╢реНрдпрдХ" рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдЧреА:
(рдкреНрд░рд╛рд░реВрдк рд╕рд░рд▓ рд╣реИ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЯреНрд╡реАрдЯ рдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╡рд┐рднрд┐рдиреНрди рдЦреЛрдЬ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдмреАрдЪ рдХрд╛ рдХрдиреЗрдХреНрд╢рди "+ рдпрд╛ +" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣реИрд╢ рдЯреИрдЧ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рд╕рд┐рд╡рд╛рдп # рдХреЗ рдкреНрд░рддреАрдХ # 23 рдХреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗред
// var requestStr = ""; // " " function PrepareItem(item) { if (requestStr != "") requestStr += '+OR+'; if (item[0] != "#") {// requestStr += 'from:' + item; } else {// - requestStr += '%23'; for (var index = 1; index < item.length; index++) requestStr += item[index]; } } $(document).ready(function() { $.ajax({ // dataType: 'jsonp', jsonp: 'jsonp_callback', // GET -callback url: "http://mySite.ru/widgets/twitter.php", data: { ID:$('#ref').val() }, success: function( result ) { $(result.results).each(function(item) { PrepareItem(item.name); }); // ( ) CreateQueryToTwitter(requestStr); } });
рд╣рд╛рд▓рд╛рдВрдХрд┐, JSONP рднреА рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдмрддрд╛рддрд╛ рд╣реИ (рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ - рдЕрдВрддрд░ рдХреЗрд╡рд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╣реИ) - рдпрд╣ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ HTML рдХреЛрдб рдореЗрдВ рдПрдХ "рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╢рд░реАрд░ рдЦрд╛рд▓реА рд╣реИ, рдФрд░ src рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдорд╛рди GET рдЕрдиреБрд░реЛрдз рд╢рд╛рдорд┐рд▓ рд╣реИред
рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдХреЗрд╡рд▓ рдЯреНрд╡рд┐рдЯрд░ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ (рдкрд░рд┐рдгрд╛рдо рддрддреНрд╡ рдореЗрдВ рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ) рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
function CreateQueryToTwitter(request) { var newScript = document.createElement('script'); newScript.setAttribute("type", "text/javascript");// newScript.setAttribute("src", "http://search.twitter.com/search.json?q=" + request + "&callback=tweetResponse&rpp=40"); // HTML document.getElementsByTagName("head")[0].appendChild(newScript); } function tweetResponse(result) { var container=$('#tweet-container'); container.html(''); // $(result.results).each(function () { var str = (' <div class="tweet">\ <div class="avatar"><a href="http://twitter.com/'+this.from_user+'" target="_blank"><img src="'+this.profile_image_url+'" alt="'+this.from_user+'" /></a></div>\ <div class="user"><a href="http://twitter.com/'+this.from_user+'" target="_blank">'+this.from_user+'</a></div>\ <div class="txt">' + formatTweet(this.text) + '</div>\ '); container.append(str); }); } // , function formatTweet(str) { str=' '+str; str = str.replace(/((ftp|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?)/gm,'<a href="$1" target="_blank">$1</a>'); str = str.replace(/([^\w])\@([\w\-]+)/gm,'$1@<a href="http://twitter.com/$2" target="_blank">$2</a>'); str = str.replace(/([^\w])\
рдпрд╣ рд╡рд┐рдЬреЗрдЯ рдХреЗ рд▓рд┐рдП рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реА рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдФрд░ HTML рдХреЛрдб рддреИрдпрд╛рд░ рд╣реИ:
body { font-family: Tahoma,Arial,Verdana,sans-serif; width:1024px; margin: auto; height:768px; } #tweet-container { overflow-y:scroll; height:768px; width:660px; margin: auto; } .tweet { color:black; margin-top:5px; background-color:#F0F1F4; border-bottom:3px solid #5ea8de; padding:10px; margin-left:5px; width:600px; height:autopx; } .avatar { float:left; } .avatar:hover { opacity:0.5; } .user { float:left; padding-left:10px; } .user a { text-decoration:none; color:black; font-size:1.1em; } .user a:hover { color:#DB4FDB } .txt { clear:left; }
рдЕрдм рдЗрд╕ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рдлрд╝рд╛рдЗрд▓ Info.plist рдЬреЛрдбрд╝реЗрдВред рдореЗрд░реЗ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>BackwardsCompatibleClassLookup</key> <true/> <key>CFBundleDevelopmentRegion</key> <string>Russian</string> <key>CFBundleDisplayName</key> <string>twitter</string> <key>BRNotifiesOnReady</key> <true/> <key>CFBundleIdentifier</key> <string>ru.mySite.widget.twtter</string> <key>CFBundleName</key> <string>twitter</string> <key>CFBundleShortVersionString</key> <string>1.0</string> <key>CFBundleVersion</key> <string>1.0</string> <key>KFNotifiesOnReady</key> <false/> <key>Height</key> <integer>768</integer> <key>MainHTML</key> <string>main.html</string> <key>Width</key> <integer>1024</integer> <key>IBNotifiesOnReady</key> <false/> </dict> </plist>
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдЗрд╕реЗ Ibook рд▓реЗрдЦрдХреЛрдВ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ
рдЗрд╕ рддрд░рд╣ рд╕реЗ, рдореИрдВрдиреЗ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рд╕рдмрд╕реЗ "рдЦрддрд░рдирд╛рдХ" рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдЬреЗрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзред рдмреЗрд╢рдХ, рдпрджрд┐ рдЖрдк рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреЗрдЯ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдирд╛рдо рдФрд░ рд╣реИрд╢ рдЯреИрдЧ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рд╡рд┐рдЬреЗрдЯ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдиреЗ рди рдХреЗрд╡рд▓ рдЖрдкрдХрд╛ рд╕рдордп рд▓рд┐рдпрд╛, рдмрд▓реНрдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧреА рднреА рд╣реЛрдЧрд╛ред :)