<
  • Главная
Статьи

Розробка Web-додатків для iPhone за допомогою Eclipse

  1. Коротко про використаний інструментарії
  2. Малюнок 1. Створення нового проекту для iPhone
  3. Малюнок 2. Форма проекту для iPhone в Eclipse
  4. Режим попереднього перегляду iPhone і сервер додатків
  5. Малюнок 3. Горизонтальний режим попереднього перегляду iPhone
  6. Малюнок 4. Web-сторінка сервера додатків Aptana з можливістю відправки URL по e-mail
  7. Демонстрація iUi: Web-додаток для пошуку фільмів і вистав
  8. Малюнок 5. Проект iDoc, що включає в себе інфраструктуру iUi і приклади до неї
  9. Малюнок 6. Приклад використання iUi: Web-додаток для пошуку фільмів
  10. Проектування користувальницького інтерфейсу
  11. Рекомендації по створенню зручних для сприйняття інтерфейсів iPhone
  12. Малюнок 7. Палець - це не миша
  13. інтерфейс iDoc
  14. Лістинг 1. Документ HTML, що містить заголовок і два верхніх рівня навігації
  15. Малюнок 8. Інтерфейс Javadoc відрізняється від рідного додатки для iPhone
  16. Малюнок 9. Показ інтерфейсів, класів і винятків з пакета java.rmi
  17. Лістинг 2. Елемент textRow, доданий в CSS для коректного відображення статичного тексту
  18. Лістинг 3. HTML-код підсумкової сторінки з використанням стилів textRow
  19. Малюнок 10. Сторінка з детальною інформацією про конструкторі класу java.math.BigDecimal
  20. Розробка iDoc
  21. Лістінг 4. Код doclet'a для генерування детального HTML-сторінок
  22. Проблеми з продуктивністю
  23. Лістинг 5. Doclet перебирає всі пакети, створюючи окремі файли документації для кожного класу
  24. Малюнок 11. Готова документація Javadoc для 51 пакета на екрані iPhone
  25. Майбутнє розробки для iPhone
  26. Ресурси для скачування

Створення Web-додатків для iPhone з використанням модуля iPhone Development та інфраструктури iUi

Платформа iPhone компанії Apple надає набір цікавих можливостей для розробників. Завдяки невеликим розмірам і інтерактивного сенсорного екрану iPhone і iPod Touch за досить короткий час стали популярними серед мільйонів користувачів. Однак новаторський дизайн пристроїв і закритість платформи створюють нові труднощі розробникам додатків. Поки Apple не випустить свій інструментарій для розробки Software Development Kit (SDK) в лютому 2008 р, програмісти будуть змушені створювати Web-додатки, що імітують оригінальний інтерфейс iPhone.

На щастя, існує набір відкритих бібліотек, що полегшують це завдання. Зокрема, модуль iPhone Development, створений компанією Aptana для середовища Eclipse, здатний генерувати проектні файли і здійснювати попередній перегляд додатків iPhone в спеціальній повертається интерфейсном вікні. Крім того, варто звернути увагу на iUi - інфраструктуру на основі каскадних сторінок стилів (CSS) і JavaScript, створену Джо Хьюітт (Joe Hewitt) і містить безліч інтерфейсних елементів і сторінок, емулює зовнішній вигляд додатків iPhone.

У даній статті ми будемо використовувати Aptana і iUi для створення простого додатка iPhone для перегляду документації Javadoc. Ми почнемо з проектування інтерфейсу для перегляду Javadoc, потім створимо власний doclet - програму для генерування сторінок Javadoc з вихідного коду додатків. У процесі роботи ми поговоримо про проблеми, пов'язані зі створенням інтерфейсів для iPhone, про те, як згадані відкриті бібліотеки дозволяють спростити розробку і налагодження додатків, а також про напрямки розвитку програмування для iPhone.

Коротко про використаний інструментарії

Для початку встановіть Aptana і скачайте iUi:

  1. В Eclipse версії 3.2 виберіть пункт меню Help> Software Updates> Find and Install.
  2. Натисніть Search for new features to install. З'явиться вікно зі списком сайтів, з яких ви скачували Plug-in, а також список стандартних модулів Eclipse.
  3. Додайте до цього списку Aptana, натиснувши на New Remote Site і вказавши наступний URL: http://update.aptana.com/update/3.2/.
  4. Виберіть щойно створений сайт Aptana зі списку, натисніть Next та встановіть повний набір функцій. Закрийте вікно, завершивши тим самим установку.
  5. Перезапустіть Eclipse.
  6. Зайдіть в меню Window> Open Perspective> Other і виберіть Aptana у вікні. В результаті в панель інструментів повинен додатися новий набір іконок.
  7. Натисніть на іконку "home". З'явиться список функцій Aptana.
  8. У розділі Apple iPhone Development натисніть на Download and Install.
  9. Відзначте всі функції і закрийте вікно. Буде виконано конфігурація спеціальних функцій Aptana для роботи з iPhone.
  10. Перезапустіть Eclipse.
  11. Скачайте останню версію iUi (див. ресурси ).

Якщо все благополучно встановилося, створіть новий проект IPhone в Eclipse (iPhone Project), назвавши його iDoc, як показано на малюнку 1.

Малюнок 1. Створення нового проекту для iPhone

Одержаний в результаті проект, у якому просте додаток для iPhone, показаний на малюнку 2.

Малюнок 2. Форма проекту для iPhone в Eclipse

Зверніть увагу на підсвічування синтаксису в редакторі коду Aptana. Редактор також підтримує такі мови як HTML, CSS і JavaScript.

Режим попереднього перегляду iPhone і сервер додатків

У нижній частині вікна редактора розташовані закладки Source, iPhone Preview, а також по закладці на кожен браузер, встановлений у вашій системі (наприклад, Safari Preview, Firefox Preview). Вибравши закладку iPhone Preview, ви побачите, як ваш додаток буде виглядати на екрані iPhone. Зображення можна обертати, клікаючи за межами браузера. Крім того, можна приховати навігаційну панель, натиснувши на заголовну панель телефону. Горизонтальний режим попереднього перегляду iPhone показаний нижче на малюнку 3.

Малюнок 3. Горизонтальний режим попереднього перегляду iPhone

Режим попереднього перегляду істотно полегшує розробку. З його допомогою ви можете швидко пробувати нові інтерфейсні рішення, вносячи зміни без постійної необхідності фізичного перенесення програми на телефон. Коли ж прийде час протестувати роботу програми на реальному iPhone, вам допоможе вбудований в Aptana сервер додатків. Запустіть його, натиснувши на кнопку Run на панелі інструментів Eclipse. Приклад запущеного в Eclipse сервера додатків показаний на малюнку 4.

Малюнок 4. Web-сторінка сервера додатків Aptana з можливістю відправки URL по e-mail

Якщо ваш iPhone підключений до локальної мережі через WiFi-з'єднання, то для доступу до додатка досить звернутися по URL, відображеного у вікні сервера. Замість ручного набору даного URL можна просто натиснути на кнопку E-mail this url і відправити його листом в електронну поштову скриньку, доступний в iPhone. Далі відкрийте URL в тілі листа і ви побачите ваш додаток у вікні Web-браузера iPhone.

Демонстрація iUi: Web-додаток для пошуку фільмів і вистав

Демонстраційне додаток, створене за допомогою Aptana, містить файли HTML і CSS для імітації інтерфейсу iPhone, проте їх функціональність дуже обмежена. Набагато більшого можна домогтися, використовуючи інфраструктуру iUi, що включає в себе багатий набір інтерфейсних елементів (віджетів) і спецефектів на JavaScript, які дозволяють створювати інтерфейси, практично неможливо відрізнити від iPhone.

Скачайте дистрибутив iUi (файл iui-0.13.tar), розархівуйте файл і скопіюйте всі файли в проект iDoc в Eclipse. Проект, який містить файли iUi, показаний на малюнку 5.

Малюнок 5. Проект iDoc, що включає в себе інфраструктуру iUi і приклади до неї

Демонстраційні Web-додатки, що входять в поставку iUi, знаходяться в папці samples, показаної на малюнку 5. У їх числі музичний браузер, програма для пошуку фільмів і вистав, а також сайт на зразок Digg. Всі ці програми можна побачити в режимі попереднього перегляду в Eclipse. Наприклад, сторінка пошуку театрального Web-додатки (samples / theaters / index.html) показана на малюнку 6.

Малюнок 6. Приклад використання iUi: Web-додаток для пошуку фільмів

Зверніть увагу, наскільки точно віджети iUi імітують рідний інтерфейс iPhone, дозволяючи швидко створювати Web-додатки для даного пристрою.

Проектування користувальницького інтерфейсу

Як вправа ми створимо програму для перегляду документації Javadoc на iPhone під назвою iDoc. Насичений дизайн HTML-файлів Javadoc, що генеруються стандартною утилітою від Sun Microsystems, відмінно виглядає на екрані настільного комп'ютера, але з ним важко працювати на маленькому екрані iPhone. iDoc, навпаки, генерує файли Javadoc, спеціально розраховані на iPhone. Вони ідеально підходять для перегляду програмних інтерфейсів API в метро або для обговорення з напарником, який виступає в ролі спостерігача і допомагає вам у вирішенні будь-якої проблеми.

Рекомендації по створенню зручних для сприйняття інтерфейсів iPhone

Перед тим як почати проектування інтерфейсу для iDoc, необхідно чітко усвідомити, чому саме процес розробки для iPhone відрізняється від створення звичайних Web-додатків. Малюнок 7, запозичений зі сторінки центру розробки для Apple iPhone (див. ресурси ), Чудово резюмує цю різницю: "палець - це не миша". Зокрема, не можна розраховувати на настільки ж точне наведення курсору, як в настільних додатках. Але при цьому сама модель взаємодії між користувачем і додатків істотно розширюється за рахунок нових дій типу постукування, легкого натискання і т.д. Крім того, не можна забувати, що iPhone часто використовується в подорожах, в умовах, коли користувача можуть відволікати сторонні речі, тому особливо важливо, щоб програми надавали простий, швидкий і інтуїтивно зрозумілий доступ до даних.

Малюнок 7. Палець - це не миша

У керівництві Apple по створенню інтерфейсів для iPhone (див. ресурси ) Визначаються три типи Web-документів для iPhone:

Сумісні з Safari на iPhone Будь коректно відображаються Web-сторінки, навіть якщо деякі їх частини вимагають наявності підтримуються модулів, наприклад Adobe Flash, або аплетів Java ™. Оптимізовані для Safari на iPhone Web-сторінки, коректно керуючі масштабуванням вмісту і не потребують наявності підтримуються модулів. Додатки iPhone Web-сторінки, адаптовані власний інтерфейс iPhone і, по можливості, інтегровані з сервісами iPhone, зокрема, телефоном, електронною поштою або Google Maps.

Стандартні сторінки Javadoc потрапляють під першу категорію - "сумісні з Safari на iPhone". Вони коректно відображаються, але вимагають безлічі натискань і постукувань для пошуку потрібної інформації. На відміну від них, створюючи iDoc, ми ставимо за мету створювати документи з третьої категорії. Незважаючи на те, що iDoc НЕ буде інтегруватися з іншими сервісами iPhone, його інтерфейс буде відповідати всім вимогам, що пред'являються додатків iPhone.

інтерфейс iDoc

Створюючи додатка iPhone, необхідно постійно пам'ятати про те, що вони повинні дозволяти швидко вирішувати конкретні завдання, а не намагатися надати функції на всі випадки життя. Користувачі iDoc повинні швидко знаходити основну інформацію про Java-класах, зокрема, імена класів, імена методів і їх сигнатури, а також коментарі. Буде надано підтримку проектам три рівня навігації, що дозволяють перейти на підсумкову сторінку з детальною інформацією про потрібні класах.

Навігація на рівні пакетів В перегляд включаються тільки пакети верхнього рівня. Навігація на рівні класів В перегляд включаються класи, інтерфейси, виключення і помилки в пакетах. Деталізована навігація на рівні класів В перегляд включаються поля, конструктори і методи класів. Підсумкова сторінка Містить коментарі, сигнатури і параметри методів.

Деякі дані, що містяться в стандартних файлах Javadoc, не включені в файли iDoc з метою спрощення сприйняття. Зокрема, не показуються коментарі до оголошень пакетів, тому що вони часто не несуть корисної інформації (наприклад, "пакет acme.client містить клієнтський код") або взагалі відсутні. Таким чином, було вирішено від них відмовитися, спростивши тим самим інтерфейс iDoc.

На всіх трьох рівнях навігації використовуються edge-to-edge (розтягнуті на весь екран) списки. Подібні списки знайомі тим, хто працював з рідними додатками iPhone, наприклад для перегляду контактів, електронних листів або музики. Edge-to-edge-списки показують дані у вигляді рядків, що мають 44 пікселя в висоту, що зручно, якщо доводиться прокручувати великі обсяги даних. У керівництві по створенню інтерфейсів для iPhone наведені рекомендовані параметри для створення edge-to-edge-списків, такі як назва і розмір шрифту, відстані між кордонами рядків і т.д. Ці параметри підтримуються в iUi за допомогою CSS і JavaScript, завдяки чому можна створювати прості HTML-списки, які потім виглядають як компоненти iPhone.

У лістингу 1 показаний код сторінки, що містить заголовок, а також посилання для навігації по пакетам java.applet і java.rmi.

Лістинг 1. Документ HTML, що містить заголовок і два верхніх рівня навігації
<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Strict // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns = "http : //www.w3.org/1999/xhtml "> <head> <title> iDoc </ title> <meta name =" viewport "content =" width = 320; initial-scale = 1.0; maximum-scale = 1.0 ; user-scalable = 0; "/> <style type =" text / css "media =" screen "> @ import" iui / iui.css "; </ style> <style type =" text / css "media = "screen"> @ import "iDoc.css"; </ style> <script type = "application / x-javascript" src = "iui / iui.js"> </ script> </ head> <body onclick = " console.log ( 'Hello', event.target); "> <div class =" toolbar "> <h1 id =" pageTitle "> </ h1> <a id =" backButton "class =" button "href =" # "> </a> </ div> <ul id =" home "title =" Packages "selected =" true "> <li> <a href="#java.applet"> java.applet </a> </ li> <! - more packages ...--> <li> <a href="#java.rmi"> java.rmi </a> </ li> </ ul> <ul id = " java.applet "title =" java.applet "> <li class =" group "> Interfaces </ li> <li> <a href="java.applet.AppletContext.html"> AppletContext </a> </ li > <li> <a href = "java.applet.AppletStub.html "> AppletStub </a> </ li> <li> <a href="java.applet.AudioClip.html"> AudioClip </a> </ li> <li class =" group "> Classes </ li> <li> <a href="java.applet.Applet.html"> Applet </a> </ li> <li> <a href="java.applet.Applet.AccessibleApplet.html"> AccessibleApplet </a> </ li> </ ul> <ul id = "java.rmi" title = "java.rmi"> <li class = "group"> Interfaces </ li> <li> <a href = "java.rmi. Remote.html "> Remote </a> </ li> <li class =" group "> Classes </ li> <li> <a href="java.rmi.MarshalledObject.html"> MarshalledObject </a> < / li> <li> <a href="java.rmi.Naming.html"> Naming </a> </ li> <li> <a href="java.rmi.RMISecurityManager.html"> RMISecurityManager </ a > </ li> <li class = "group"> Exceptions </ li> <li> <a href="java.rmi.AccessException.html"> AccessException </a> </ li> <li> <a href = "java.rmi.AlreadyBoundException.html"> AlreadyBoundException </a> </ li> <li> <a href="java.rmi.ConnectException.html"> ConnectException </a> </ li> <li> < a href = "java.rmi.ConnectIOException.html"> ConnectIOException </a> </ li> <li> <a href="java.rmi.MarshalException.html"> MarshalEx ception </a> </ li> <li> <a href="java.rmi.NoSuchObjectException.html"> NoSuchObjectException </a> </ li> <li> <a href = "java.rmi.NotBoundException.html "> NotBoundException </a> </ li> <li> <a href="java.rmi.RemoteException.html"> RemoteException </a> </ li> <li> <a href =" java.rmi.RMISecurityException .html "> RMISecurityException </a> </ li> <li> <a href="java.rmi.ServerError.html"> ServerError </a> </ li> <li> <a href =" java.rmi .ServerException.html "> ServerException </a> </ li> <li> <a href="java.rmi.ServerRuntimeException.html"> ServerRuntimeException </a> </ li> <li> <a href =" java .rmi.StubNotFoundException.html "> StubNotFoundException </a> </ li> <li> <a href="java.rmi.UnexpectedException.html"> UnexpectedException </a> </ li> <li> <a href = "java.rmi.UnknownHostException.html"> UnknownHostException </a> </ li> <li> <a href="java.rmi.UnmarshalException.html"> UnmarshalException </a> </ li> </ ul>

Приклад навігації рівня пакетів показаний на малюнку 8. У прикладі використовується один edge-to-edge-список для вибору пакета верхнього рівня.

Малюнок 8. Інтерфейс Javadoc відрізняється від рідного додатки для iPhone

Приклад продемонструвати вміст пакета java.rmi в режимі попереднього перегляду iPhone наведено на малюнку 9.

Малюнок 9. Показ інтерфейсів, класів і винятків з пакета java.rmi

Підсумкова сторінка з детальною інформацією буде показуватися за допомогою ще одного стандартного віджету iPhone - списку, що містить прямокутні блоки з закругленими кутами (rounded-rectangle-список). Подібні списки зручно використовувати для групування інформації; наприклад, вони часто зустрічаються у всіляких конфігураційних панелях. У iDoc такий віджет буде застосовуватися для відділення сигнатур методів від списку параметрів і винятків. У iUi версії 0.13 прямоугольно-закруглені списки підтримуються тільки в формах вводу, а їх використання для відображення статичного тексту призводить до появи некоректно відформатованих блоків. Тому нам доведеться розширити стандартну CSS, додавши в неї опису з файлу iDoc.css (лістинг 2), зокрема, елемент textRow для виведення звичайних текстових рядків усередині списку з прямоугольно-закругленими блоками.

Лістинг 2. Елемент textRow, доданий в CSS для коректного відображення статичного тексту
/ * Додавання нового строкового стилю в iUi для відображення блоків тексту * / .textRow {position: relative; border-bottom: 1px solid # 999999; -webkit-border-radius: 0; text-align: right; } .TextRow> p {text-align: left; margin: 5px 8px 5px 10px; padding: 0px 0px 0px 0px; } Fieldset> .textRow: last-child {border-bottom: none! Important; }

У лістингу 3 показано вміст сторінки, яка описує один з конструкторів класу java.math.BigDecimal.

Лістинг 3. HTML-код підсумкової сторінки з використанням стилів textRow
<Div id = "java.math.BigDecimal (long, java.math.MathContext)" title = "BigDecimal" class = "panel"> <fieldset> <div class = "textRow"> <p> <b> public BigDecimal (long, MathContext) </ b> </ p> </ div> <div class = "textRow"> <p> Translates a <code> long </ code> into a <code> BigDecimal </ code>, with rounding according to the context settings. The scale of the <code> BigDecimal </ code>, before any rounding, is zero. </ P> </ div> </ fieldset> <h2> Parameters </ h2> <fieldset> <div class = "textRow"> <p> <b> long val </ b>: <code> long </ code> value to be converted to <code> BigDecimal </ code>. </ p> </ div> <div class = "textRow"> <p> <b> MathContext mc </ b>: the context to use. </ p> </ div> </ fieldset> <h2> Throws </ h2> <fieldset> <div class = "textRow"> <p> <b> ArithmeticException </ b>: if the result is inexact but the rounding mode is <code> UNNECESSARY </ code>. </ p> </ div> </ fieldset> </ div>

Текст, що знаходиться усередині тега <fieldset>, буде через підрядник відображений всередині закругленого прямокутника, причому в якості рядків будуть виступати елементи <div> зі стилем textRow. Заголовки (елементи <h2>) будуть виведені в якості назв груп безпосередньо над списками всередині прямокутників. Зовнішній вигляд сторінки показаний на малюнку 10.

Малюнок 10. Сторінка з детальною інформацією про конструкторі класу java.math.BigDecimal

Таким чином, весь призначений для користувача інтерфейс полягає в трирівневої навігації і підсумкової сторінці, яка б показала деталізовану інформацію. iDoc успішно виконує свою головну функцію: дозволяє користувачам швидко виконувати конкретні дії. При цьому завдяки інфраструктурі iUi і додаткової CSS-сторінці він виглядає як рідне додаток для iPhone.

Розробка iDoc

Тепер, після того як ми спроектували інтерфейс, пора зайнятися створенням самого генератора HTML-сторінок. Для цього ми створимо простий doclet, який можна буде використовувати зі стандартною утилітою javadoc від Sun. У наших прикладах використовуються пакети java. *, Але iDoc зможе генерувати документацію для будь-яких файлів з вихідним кодом. Наприклад, можна згенерувати Javadoc для вихідного коду OpenJDK (див. ресурси ) Завдяки тому що дана бібліотека загальнодоступна і випущена під ліцензією GPL V2 (GNU Public License).

Весь процес генерування Javadoc в iDoc полягає в ітерірованіі за списком пакетів і класів і виклику методів для виведення статичної HTML для наведеного вище форматі. Методи для виведення тексту на підсумкову сторінку наведені в лістингу 4.

Лістінг 4. Код doclet'a для генерування детального HTML-сторінок
private void printDetail (PrintStream p, ProgramElementDoc doc, String id, String name) {divHeader (p, id, name, "panel"); textHeader (p, null); textRow (p, getSignature (doc)); textRow (p, getCommentText (doc.commentText ())); textFooter (p); if (doc instanceof ExecutableMemberDoc) {printMethodDetail (p, (ExecutableMemberDoc) doc); } DivFooter (p); } Private void printMethodDetail (PrintStream p, ExecutableMemberDoc field) {if (field.parameters (). Length> 0) {textHeader (p, "Parameters"); for (int i = 0; i <field.paramTags (). length; i ++) {textRow (p, "<b>" + field.parameters () [i] .typeName () + "" + field. paramTags () [i] .parameterName () + "</ b>:" + getCommentText (field.paramTags () [i] .parameterComment ())); } TextFooter (p); } If (field.throwsTags (). Length> 0) {textHeader (p, "Throws"); for (int i = 0; i <field.throwsTags (). length; i ++) {textRow (p, "<b>" + field.throwsTags () [i] .exceptionName () + "</ b> : "+ getCommentText (field.throwsTags () [i] .exceptionComment ())); } TextFooter (p); }}

Код організованій таким чином, что за генерування документації для класів, полів, конструкторів и методів відповідає метод printDetail (). При цьому конструктори і методи представлені у вигляді об'єктів класів-спадкоємців ExecutableMemberDoc, тому для них додатково виводиться інформація про параметри і винятки.

Проблеми з продуктивністю

стиснення GZIP

Одним з простих, але ефективних способів поліпшити продуктивність iDoc є GZIP-стиснення трафіку Web-сервером. Більшість сучасних Web-серверів підтримують можливість стиснення сторінок перед їх відправкою клієнтам, зокрема, браузеру Safari для iPhone. Safari здатний автоматично розпаковувати вхідний трафік, тому все що потрібно - це включити режим стиснення на стороні Web-сервера, після чого користувачі iPhone зможуть завантажувати сторінки значно швидше.

Режим попереднього перегляду додатків iPhone в Aptana спрощує налагодження генеруються файлів. Всі розбіжності виводяться файлів і раніше спроектованого інтерфейсу можна виявити після кожної ітерації. Однак при використанні цього режиму можна не помітити потенційні проблеми з продуктивністю, тому що сучасні комп'ютери працюють в 3-5 разів швидше, ніж iPhone, в якому встановлений процесор ARM з частотою 620 МГц. Крім того, користувачі часто завантажують дані через повільний мобільний інтернет. Тому важливо запускати додаток на реальному iPhone.

Тестуючи iDoc на iPhone, я помітив, що генерування одного великого HTML-файлу призводить до дивних візуальних ефектів і знижує продуктивність. Для вирішення цієї проблеми можна створити один головний файл для навігації по назвах пакетів і іменах класів та окремі файли, що містять коментарі та детальну інформацію про методи кожного класу (лістинг 5). В результаті вийде велика кількість файлів, але всі вони будуть невеликого розміру, що позитивно позначиться на продуктивності.

Лістинг 5. Doclet перебирає всі пакети, створюючи окремі файли документації для кожного класу
out = new FileOutputStream (index); p = new PrintStream (out); printHeader (p); PackageDoc [] packages = root.specifiedPackages (); Arrays.sort (packages); printPackages (p, packages); for (int i = 0; i <packages.length; i ++) {printPackageDetail (p, packages [i]); } For (int i = 0; i <packages.length; i ++) {ClassDoc [] classes = packages [i] .allClasses (); Arrays.sort (classes); for (int j = 0; j <classes.length; j ++) {// Creating a separate file for each class. PrintStream p2 = new PrintStream (new FileOutputStream (getFilename (classes [j]))); printClassDetail (p2, classes [j]); p2.close (); }} PrintFooter (p); p.close ();

iDoc в дії

Збільшивши таким чином продуктивність, можна переходити до перевірки iDoc в дії. Для цього сгенерируем Javadoc для 51 пакета java. * І javax. * В OpenJDK, що містять 1,304 класу, а потім завантажимо отримані HTML-сторінки на Web-сервер. Всі разом файли займають більше 16 Мб, але з них тільки 112 КБ доводиться на головну сторінку і в середньому по 13 КБ на сторінки, що містять інформацію по кожному класу. Додаток демонструє хороший час відгуку навіть при роботі через EDGE-мережі. Якщо у вас є iPhone, зайдіть на сайт iDoc ресурси ) І спробуйте його в роботі. Крім того, ви можете завантажити iDoc і згенерувати оптимізований для iPhone Javadoc для ваших власних класів. Зовнішній вигляд iDoc показаний на малюнку 11.

Малюнок 11. Готова документація Javadoc для 51 пакета на екрані iPhone

Надалі можна вдосконалити iDoc, додавши підтримку параметризованих типів в Java 5 або розпізнавання тегів в коментарях Javadoc для створення посилань між сторінками. Якщо ви вирішите розширити функціональність iDoc, то повний вихідний код програми можна завантажити за наведеним в розділі ресурси .

Майбутнє розробки для iPhone

У жовтні 2007 р Стів Джобс (Steve Jobs) анонсував випуск iPhone SDK на лютий 2008 г. На час написання даної статті (грудень 2007 року) ще не було достатньо інформації на цю тему, але SDK повинен дозволяти створювати додатки для запуску на iPhone без Safari. З огляду на архітектуру iPhone, логічно припустити, що, як і в випадку з Mac OS X, в якості платформи для розробки виступатиме Cocoa або Objective-C. Недавні висловлювання керівництва Apple також вказують на те, що сторонні додатки повинні будуть проходити певну процедуру сертифікації перед запуском на iPhone.

Виконання безпосередньо на платформі iPhone є плюсом для додатків, що інтенсивно використовують графіку, анімацію або вимагають доступ до мережевих ресурсів. Однак навіть після виходу SDK розробка Web-додатків для iPhone не втратить своєї популярності завдяки простоті їх створення і установки. Такі засоби як Aptana і iUi полегшують і істотно скорочують час створення Web-додатків. Тому, як видно на прикладі iDoc, часто зовсім необов'язково чекати виходу SDK: використовуючи сучасні технології, можна створювати Web-додатки для iPhone, інтерфейс яких практично не відрізняється від оригінального.

Ресурси для скачування

Схожі теми

  • Оригінал статті: " Develop iPhone web applications with Eclipse "(Адам Хофтон (Adam Houghton), developerWorks, січень 2008 р.) (EN)
  • Скачайте останню версію модуля Aptana для Eclipse . (EN)
  • Скачайте останню версію інфраструктури iUi . (EN)
  • ознайомтеся з програмою для розробників iPhone - розділом центру розробників Apple, присвяченого створенню Web-додатків для iPhone. (EN)
  • OpenJDK - це відкритий комплект розробника додатків на Java, випущений компанією Sun Microsystems. (EN)
  • перегляньте результат роботи iDoc - Javadoc для OpenJDK - на екрані вашого iPhone. (EN)
  • Скачайте останню версію вихідного коду iDoc . (EN)
  • перегляньте останні матеріали для завантаження за технологією Eclipse на сайті IBM alphaWorks . (EN)
  • Ознайомтеся зі " списком рекомендованих для прочитання матеріалів по Eclipse ". (EN)
  • скачайте платформу Eclipse та інші проекти з сайту Eclipse Foundation. (EN)
  • Якщо у вас немає досвіду використання Eclipse, прочитайте статтю " Початок роботи з платформою Eclipse "Для знайомства з історією та архітектурою платформи. Ви також дізнаєтеся, як можна розширити можливості Eclipse за допомогою модулів.
  • Розвивайте свої навички роботи з Eclipse, читаючи матеріали про проект Eclipse на сайті IBM developerWorks. (EN)
  • У розділі подкастів на сайті developerWorks можна прослухати інтерв'ю та обговорення, що представляють інтерес для розробників. (EN)
  • У розділі Open Source сайту developerWorks наведено безліч практичних інструкцій, інструментів і новин, які допоможуть вам застосовувати технології з відкритим вихідним кодом в своїх проектах і використовувати їх спільно з продуктами IBM.
  • скачайте ознайомчі версії продуктів IBM і випробуйте інструменти розробки додатків, а також сполучна програмне забезпечення IBM сімейств DB2®, Lotus®, Rational®, Tivoli® і WebSphere®. (EN)
  • Реалізуйте інноваційні ідеї в вашому наступному проекті з відкритим вихідним кодом, використовуючи ознайомчі версії продуктів IBM , Які можна скачати з сайту developerWorks або замовити на DVD. (EN)

Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів



Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью