PastryKit: средство разработки сайтов для iPhone, написанное в Apple

    Обратите внимание вот на какую картинку:

    [пример web-приложения PastryKit]

    На экране этого iPhone вы видите приложение, которое выглядит как обычное приложение; тем не менее оно запущено через Интернет, оно является сайтом, который просматривается в мобильной версии браузера Safari. Этот эффект достигается использованием библиотеки PastryKit, разработанной в Apple: библиотека отключает адресную строку Safari, библиотека обеспечивает фиксированное позиционирование панелей инструментов, библиотека даже заменяет способ прокрутки сайтов Safari, добавляя к нему такое «сохранение импульса», которое свойственно именно приложениям iPhone, а не сайтам Safari.

    Библиотека PastryKit состоит из CSS и джаваскриптов. Она используется в «iPhone User Guide», а также, до некоторой степени, в LP-файлах iTunes, но ещё не очень ясно, собирается ли Apple пропагандировать и документировать использование PastryKit; блоггер и разработчик Джон Грубер (John Gruber; это тот самый, который придумал язык разметки Markdown) сравнительно случайно обнаружил библиотеку PastryKit на сайте Apple и дал знать о её существовании другим заинтересованным разработчикам.

    Подробнее обо всём этом вы можете прочесть во блоге Ajaxian; там же рассказывается, как и где можно скачать и подключить PastryKit.
    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 20
    • +6
      что бы не создавать дополнительную тему:
      Для достижения такого эффекта можно также воспользоваться wptouch для Wodpress
    • 0
      Как на сервере и на клиенте определить что мы имеем дело с айфоном?
      • +5
        Через USER_AGENT
        • +1
          | Mozilla/5.0 (iPhone; U; XXXXX like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/241 Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; XXXXX like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A477c Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; XXXXX like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A477d Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A498b Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A535b Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538b Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Kevin) Version/3.0 Mobile/1A543a Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A566a Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C9 Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C10 Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A522a Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C6 Safari/419.3 |
          | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A537a Safari/419.3 |
          • 0
            Спасибо, ушел прикручивать библиотечку к движку.
            • 0
              ты прежде чем прикручивать посмотри стоит ли оно того, либа же для сайтов вообще, а если ты будешь к именно к WP, то лучше воспользуйся плагинами к ней. которые выполняют туже функцию.
              • 0
                только не переусердствуйте как у нас на работе… теперь не могу зайти на обычный сайт из-за любителя редиректов по usetagent, кидает сразу на спец сайт для айфона. а он мне вот например не нужен. хочу на обычный :(
                • 0
                  Для этого внизу должна быть специальная ссылка.
                  • 0
                    которая ведет обратно?) и по правилам nginx'a опять перекидывает ?)))
              • –1
                Кажется, самое ценное из этого лога одно слово — iPhone, по нему то и можно определять.
                • 0
                  а имея небольшую базу сопоставлений похоже можно версию прошивки определять
                  и советовать обновится если старая совсем :)

                  ps вот в этой строке Mobile/1A566a
              • 0
                В комментах на ajaxian хорошо написали, что тяжело пользоваться фреймворком у которого полное отсутствие документации, да еще и совершенно непонятно, что там с лицензиями.

                Так что пока остаемся на jqtouch и ждем официального релиза от apple.
                • +1
                  jQTouch все равно лучше.
                  • +4
                    На экране этого iPhone вы видите приложение, которое выглядит как обычное приложение;

                    — видишь суслика?
                    • 0
                      Я вот не пойму, это же все можно делать из без какой-то магической «засекреченной» библиотеки, а написали так как буд-то это все супер новое.
                      Закрепить панель — position: fixed,
                      прокрутка в iphone в сафари сама по себе с инерцией,
                      если добавить сайт на десктоп, то никаких лишних панелек не будет, кроме статусной панели телефона самого, и ее даже можно черной сделать и слега прозрачной,
                      более того от эппл есть приложение позволяющее для iphone делать веб сайты с их родным интерфейсом, Dashcode называется.
                      Надо просто зайти в Safari Dev Center. Там все абсолютно доходчиво написано с примерами.
                      • +1
                        Если пройти по любой ссылке из поста — сразу отпадет половина вопросов. И про проблемы с фиксацией, и про разницу в прокрутках и про устранение адресой строки (не только при запуске с десктопа) — весьма доходчиво написано. Сделать без библиотек можно вообще все — они же пользуются общедоступными средствами JS и CSS. Вопрос — надо ли самому пытаться переписать например систему View, чтобы веб-приложение выглядело нативно, если есть уже готоовая либа от Эппла?
                        • 0
                          Dashcode — суть моего комментария
                          • +1
                            Скажу честно — не видел его ни разу, но судя по замечанию в оригинальной статье:
                            But on the whole this User Guide app and the PastryKit framework are rather amazing. The $64,000 question, though, is whether PastryKit is something Apple intends (or that a team within Apple hopes) to ship publicly. It seems like a lot of effort to build a framework this rich just for this iPhone User Guide, so I’m hopeful the answer is yes. Perhaps something integrated with the next major release of Dashcode? And, perhaps with integrated UI layout tools, along the lines of Interface Builder?

                            видимо не все так хорошо…
                      • 0
                        раз уж на то пошло, то почему бы эпплу не сделать теги, которые будет поддерживать только мобильный сафари… тогда не будет такой долгой загрузки, и элементы интерфейса будут обеспечиваться не css'ом, а самим safari…

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое