Новое приложение Facebook - FBML или iFrame?

Мы запускаем новое приложение 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.

Учитывая устаревание FBML, ответ теперь ясен. Закрытие как "слишком локализованное", но блокировка для предотвращения удаления.

Bill the Lizard 07.05.2011 16:50

Этот сайт "fbexchange" вообще не является частью StackExchange. Документы разработчиков Facebook по-прежнему указывают на сотрудничество между StackOverflow и FB для поддержки FB.

ObscureRobot 21.05.2012 23:25

@ObscureRobot У вас есть неиспользуемые приложения FB, которым уже 3-4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.

Mike Weston 12.06.2018 12:30
Почему Facebook остановился на PHP
Почему Facebook остановился на PHP
PHP имеет долгую историю с Facebook, и это был основной язык программирования, использовавшийся для создания сайта в первые годы его существования....
53
3
27 290
12

Ответы 12

Я считаю, что 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-адрес короче

hayalci 23.10.2008 14:46

Facebook недавно объявил, что разработчики не смогут создавать новые приложения FBML со следующего года. Это не повлияет на существующие приложения FBML, но все будущие приложения должны разрабатываться для iframe.

John Himmelman 22.09.2010 23:01

Привет, Jmans, я хочу знать, как создать приложение для facebook в виде вкладки, используя C3, Asp.net? пожалуйста, скажите мне

ankush 14.03.2011 12:23

Извините, у меня нет опыта в этом. Хотя, наверное, это был бы хороший новый вопрос.

jmans 16.03.2011 17:04

@ankush: Вам нужно создать стандартное приложение iFrame шириной не более 520 пикселей, затем следуйте этому руководству: hyperarts.com/blog/…

Pece 18.03.2011 14:51

@JohnHimmelman У вас есть неиспользуемые приложения FB, которым уже 3-4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.

Mike Weston 12.06.2018 12:31

Использование FBML обеспечивает более глубокую интеграцию с Facebook в целом.

Подводить итоги: FBML позволяет создавать более совершенные и интегрированные приложения. IFrame проще в использовании и дает больше свободы при разработке (если ваше приложение уже вроде как завершено, и вы просто хотите добавить к нему «фейсбук» - это очень просто.

IFrames, кажется, работают лучше, если у вас есть клиентская сторона, использующая Flash или Silverlight. Я не мог заставить FBML работать с клиентом Silverlight, но когда я переключился на IFrames, он работал нормально.

У вас есть неиспользуемые приложения, которым 3–4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.

Mike Weston 12.06.2018 12:33

@MikeWeston Это была разработка в компании, в которой я работал много лет назад. У меня больше нет кода, извините.

Nick Gotch 12.06.2018 20:24

Я не ищу никакого кода. Просто нужна структура приложения. Это может быть какое-то тестовое приложение, которое вы создали и отказались от него. Если у вас есть что-то на панели инструментов разработчика facebook, сообщите мне.

Mike Weston 12.06.2018 22:19

За последние несколько лет я разработал около 30 приложений для Facebook, почти все они основаны на FBML. Я также выполнил несколько реализаций Facebook Connect, что на самом деле то, что вы делаете с приложением iframe.

Создав приложение на основе iframe, не составит большого труда реализовать Facebook Connect для основного веб-сайта, если он есть. Ваш контент также не подвергается дезинфекции, поэтому вы можете без проблем использовать стандартные html, css и javascript.

С другой стороны, вы по-прежнему можете использовать только FMBL / FBJS для содержимого вкладки любого приложения. Приложения FBML также имеют дополнительное преимущество, заключающееся в том, что они могут выполнять обработку на стороне сервера при начальной загрузке страницы. С помощью iframe вам необходимо собрать информацию на стороне клиента, а затем передать ее на сервер. Например, предварительная загрузка FQL немного сложнее с приложениями iframe, чем с приложениями FBML.

У вас есть неиспользуемые приложения, которым 3–4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.

Mike Weston 12.06.2018 12:29

Конечно, это iFrame. К концу 2010 года Facebook отказался от использования FBML.

Полностью согласен. Facebook прекращает поддержку FBML. См. Эту дорожную карту для получения полной информации: developers.facebook.com/blog/post/402

Johnny Oshika 22.10.2010 10:45

@JohnnyOshika У вас есть неиспользуемые приложения, которым 3–4 года? Я хочу протестировать несколько старых API. Было бы очень мило с вашей стороны, если вы ответите.

Mike Weston 12.06.2018 12:32

Серьезно, вам нужно обратиться к этой ссылке, прежде чем вы решите продолжить работу с 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

Другие вопросы по теме