Мы запускаем новое приложение facebook (кстати, в Rails) и сталкиваемся с решением использовать FBML или IFrames. Похоже, что в прошлом общее мнение заключалось в том, что FBML был лучшим способом, поскольку он сделал вещи более похожими на Facebook, однако теперь кажется, что вещи на стороне iFrame начинают улучшаться, и один из их главных инженеров сказал мы следует использовать фреймы
Так что мне интересно, что, по мнению людей, работает лучше всего. Какие преимущества и недостатки вы видели у подхода iFrame или подхода FBML.
Или люди используют и то, и другое одновременно. Я вижу, что есть способ изменить настройку в определенных местах.
UPDATE:
For new readers, Facebook has stopped allowing new FBML applications. All new Apps should use IFrames.
Этот сайт "fbexchange" вообще не является частью StackExchange. Документы разработчиков Facebook по-прежнему указывают на сотрудничество между StackOverflow и FB для поддержки FB.
@ObscureRobot У вас есть неиспользуемые приложения FB, которым уже 3-4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.

Я считаю, что FBML проще, если вы хотите, чтобы ваше приложение выглядело так же, как Facebook, с меньшими усилиями по дублированию их стиля.
Iframe, конечно, дает вам больше контроля.
Итак, что вы предпочитаете - более быструю разработку или более точный контроль над результатами?
Что ж, я должен согласиться с плакатом над мной и сказать, что FBML значительно упрощает создание стиля facebook для вашего приложения без необходимости копировать страницы CSS;}
Также неплохо работать с тегами fb вместо того, чтобы время от времени создавать временные решения.
Оба способа хороши, но FBML имеет тенденцию способствовать более эффективному развитию Facebook. Итак, в общем случае я бы, вероятно, пошел дальше и использовал бы FBML, если у вас нет особой потребности в точной настройке IFrame.
Я занимался разработкой приложения для facebook в течение последних нескольких месяцев и недавно переключил нашу страницу холста с FBML на IFrame. Основная причина для этого связана с этими сообщениями и функциями:
Ведущий инженер Facebook рекомендует разработчикам использовать IFrames для скорости и удобства
XFBML - вики для разработчиков Facebook
По сути, теперь вы можете встроить FBML в холст IFrame, используя функции XFBML, которые были реализованы для поддержки Facebook Connect. IFrames могут иметь улучшения производительности (хотя они, вероятно, отбрасываются клиентскими запросами, требуемыми XFBML, которые сначала немного утомительны для настройки), но основные преимущества для меня:
1) Возможность использовать jQuery или любые другие вещи, которые я хочу.
2) Полезные релевантные объявления от AdSense, поскольку мне больше не нужно встраивать JavaScript-код AdSense в отдельный IFrame.
Сделав это переключение, я понял, что могу получить все данные facebook, которые мне нужны, через API, и воспользоваться memcached для повышения производительности. Итак, теперь мой холст представляет собой простой старый HTML без какого-либо XFBML.
Надеюсь это поможет.
вам следует отредактировать свое сообщение и сделать URL-адрес короче
Facebook недавно объявил, что разработчики не смогут создавать новые приложения FBML со следующего года. Это не повлияет на существующие приложения FBML, но все будущие приложения должны разрабатываться для iframe.
Привет, Jmans, я хочу знать, как создать приложение для facebook в виде вкладки, используя C3, Asp.net? пожалуйста, скажите мне
Извините, у меня нет опыта в этом. Хотя, наверное, это был бы хороший новый вопрос.
@ankush: Вам нужно создать стандартное приложение iFrame шириной не более 520 пикселей, затем следуйте этому руководству: hyperarts.com/blog/…
@JohnHimmelman У вас есть неиспользуемые приложения FB, которым уже 3-4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.
Использование FBML обеспечивает более глубокую интеграцию с Facebook в целом.
Подводить итоги: FBML позволяет создавать более совершенные и интегрированные приложения. IFrame проще в использовании и дает больше свободы при разработке (если ваше приложение уже вроде как завершено, и вы просто хотите добавить к нему «фейсбук» - это очень просто.
IFrames, кажется, работают лучше, если у вас есть клиентская сторона, использующая Flash или Silverlight. Я не мог заставить FBML работать с клиентом Silverlight, но когда я переключился на IFrames, он работал нормально.
У вас есть неиспользуемые приложения, которым 3–4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.
@MikeWeston Это была разработка в компании, в которой я работал много лет назад. У меня больше нет кода, извините.
Я не ищу никакого кода. Просто нужна структура приложения. Это может быть какое-то тестовое приложение, которое вы создали и отказались от него. Если у вас есть что-то на панели инструментов разработчика facebook, сообщите мне.
За последние несколько лет я разработал около 30 приложений для Facebook, почти все они основаны на FBML. Я также выполнил несколько реализаций Facebook Connect, что на самом деле то, что вы делаете с приложением iframe.
Создав приложение на основе iframe, не составит большого труда реализовать Facebook Connect для основного веб-сайта, если он есть. Ваш контент также не подвергается дезинфекции, поэтому вы можете без проблем использовать стандартные html, css и javascript.
С другой стороны, вы по-прежнему можете использовать только FMBL / FBJS для содержимого вкладки любого приложения. Приложения FBML также имеют дополнительное преимущество, заключающееся в том, что они могут выполнять обработку на стороне сервера при начальной загрузке страницы. С помощью iframe вам необходимо собрать информацию на стороне клиента, а затем передать ее на сервер. Например, предварительная загрузка FQL немного сложнее с приложениями iframe, чем с приложениями FBML.
У вас есть неиспользуемые приложения, которым 3–4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.
Конечно, это iFrame. К концу 2010 года Facebook отказался от использования FBML.
Полностью согласен. Facebook прекращает поддержку FBML. См. Эту дорожную карту для получения полной информации: developers.facebook.com/blog/post/402
@JohnnyOshika У вас есть неиспользуемые приложения, которым 3–4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.
Серьезно, вам нужно обратиться к этой ссылке, прежде чем вы решите продолжить работу с FMBL. Facebook перестанет разрешать новые приложения FBML к концу 2010 года. Все страницы с вкладками и приложение Canvas будут переходить на приложения iFrame, без FMBL, и прощайте FBML! http://developers.facebook.com/roadmap
мама. С учетом всего сказанного, почему никто не обратился / не отреагировал на тот факт, что FBML устареет менее чем через 2 месяца, с его помощью нельзя будет создавать больше приложений, а это означает, что все проблемы с iframe не связаны как FBML обрабатывалась или будет обрабатываться. Похоже, переход к Iframe - единственный логичный выбор, потому что в конечном итоге FBML вообще не будет поддерживаться.
Facebook объявил, что в ближайшее время прекратит поддержку FBML. Итак, если вы думаете о разработке долгосрочного проекта, я бы обязательно начал с iFrame. Вы не хотите переходить с FBML на iFrames позже, это просто боль.
Однако я лично считаю, что iFrames в настоящее время намного более ошибочны, чем FBML, поэтому я предполагаю, что пройдет некоторое время, прежде чем facbeook перестанет поддерживать FBML.
Теоретически iFrames лучше, потому что технически вы ничего не теряете. Кроме того, в iFrames можно делать гораздо больше вещей, чем в FBML. Но на практике, как я уже сказал, iFrames все еще содержит много ошибок.
Я нашел решение для создания приложения iframe, не будучи разработчиком facebook. Это очень мощно: http://www.facebook.com/iframe.apps
Учитывая устаревание FBML, ответ теперь ясен. Закрытие как "слишком локализованное", но блокировка для предотвращения удаления.