Возможно, если следующие условия применяются:
я сообщу в первый раз, когда я вижу все их сразу.
Вот 10, с которых можно начать.
Заявление об ограничении ответственности / Раскрытие информации: У размещенной платформы, такой как force.com, есть множество преимуществ. Force.com регулярно улучшает платформу. Мне в нем много чего нравится. Я зарабатываю на сайте force.com
молодая платформа без преимуществ ее открытого исходного кода. У вас нет возможности проверить и / или исправить ошибки в платформе. Они говорят разместить это на своей IdeaExchange. Да, удачи с этим.Заявление об ограничении ответственности / Раскрытие информации: У размещенной платформы, такой как force.com, есть множество преимуществ. Force.com регулярно улучшает платформу. Мне в нем много чего нравится. Я зарабатываю на сайте force.com
молодая платформа без преимуществ ее открытого исходного кода. У вас нет возможности проверить и / или исправить ошибки в платформе. Они говорят опубликовать его на своей IdeaExchange. Да, удачи с этим.Заявление об ограничении ответственности / Раскрытие информации: У размещенной платформы, такой как force.com, есть множество преимуществ. Force.com регулярно улучшает платформу. Мне в нем много чего нравится. Я зарабатываю на сайте force.com
Модель безопасности также очень жесткая ... но это еще не самое худшее. В настоящее время вы не можете утверждать, имеет ли пользователь возможность выполнить определенное действие.
Вы можете проверить, какова его роль, но вы не можете проверить, есть ли у этой роли разрешения на выполнение текущего действия.
] Еще хуже реакция техподдержки: «Попробуйте действие, а если возникнет исключение, поймайте его»
Вот несколько вещей, которые я могу дать вам, потратив немало времени на разработку на платформе за последние две недели или около того:
RESTful API отсутствует. У них есть API на основе мыла, который вы можете вызывать, но нет способа сделать действительно успокаивающие вызовы
Нет простого способа взять их объекты SO и преобразовать их в объекты JSON.
Страницы визуальной силы в порядке, пока вы хотите настроить их, и тогда это целый мир боли.
Визуальные форсированные страницы должны быть привязаны к объектам SObject, иначе невозможно будет заставить стандартные поля ввода, такие как datepicker или список выбора, работать.
Плагин eclipse подходит, если вы хотите работать самостоятельно, но если вы хотите работать в большой команде с плагином eclipse, забудьте об этом. Он не обрабатывает синхронизацию с сервером и с сервера, он дает сбой и не работает. Это действительно полезно.
ОТЛАДЧИКА НЕТ! Если вы хотите отлаживать, это буквально отлаживается с помощью операторов system.debug. Это, вероятно, самая большая проблема, которую я обнаружил
. Их модель "MVC" на самом деле не является MVC. Это намного ближе к веб-формам ASP.NET. Ваши представления тесно связаны не только с моделями, но и с контроллерами.
Хранить большое количество документов невозможно. Нам нужно хранить более 100 ГБ документов, и нам назвали смешную цифру. Мы решили реализовать наше хранилище документов в инфраструктуре Amazon S3
. Несмотря на то, что язык основан на java, это не java. Вы не можете импортировать какие-либо внешние пакеты или библиотеки. Кроме того, доступные базовые библиотеки сильно ограничены, поэтому мы Мы обнаружили, что реализуем кучу вещей извне, а затем выставляем эти биты как службы, которые вызываются force.com
. Вы можете вызывать внешние службы на основе SOAP или REST, но тело сообщения ограничено 100 КБ, поэтому это очень ограничивает то, что вы может позвонить.
Честно говоря, несмотря на то, что есть потенциальные выгоды от разработки на платформе force.com, для меня нельзя использовать платформу force.com для настоящих приложений корпоративного уровня. В лучшем случае вы могли бы написать несколько простых приложений в грубоватом стиле, но как только вы перейдете к чему-то отдаленно сложному, я бы избегал этого, как чумы.
Честно говоря, хотя разработка на платформе force.com имеет потенциальные преимущества, для меня нельзя использовать платформу force.com для настоящих приложений корпоративного уровня. В лучшем случае вы могли бы написать несколько простых приложений в грубоватом стиле, но как только вы перейдете к чему-то отдаленно сложному, я бы избегал этого, как чумы.
Честно говоря, хотя разработка на платформе force.com имеет потенциальные преимущества, для меня нельзя использовать платформу force.com для настоящих приложений корпоративного уровня. В лучшем случае вы могли бы написать несколько простых приложений в грубом стиле, но как только вы перейдете к чему-то отдаленно сложному, я бы избегал этого, как чумы.
Я вижу, вы получили несколько ответов, но я хотел бы повторить, сколько времени уходит на то, чтобы обойти различные ограничения регулятора на платформе. Как бы мне ни нравилась платформа на определенных уровнях, я бы очень, очень, категорически не рекомендовал ее как общую платформу для разработки приложений. Если вы этого хотите, он отлично подходит как супер настраиваемое и расширяемое приложение CRM. Хотя их маркетинг является исключительным в продвижении идеи Force.com как общей платформы разработки, он еще даже отдаленно не близок.
Эффективность наличия стабильной платформы и избежания серьезных проблем с производительностью и стабильностью легко теряется в попытках обойти ограничения, на которые ссылаются люди. У платформы так много ограничений, что это сводит с ума. Эти ограничения не являются высокими лимитами, которые вы достигнете, когда у вас будет много пользователей, вы достигнете их почти сразу.
Хотя обычно существуют методы, позволяющие их обойти, очень сложно придумать стратегии, позволяющие их избежать, пока вы также пытаетесь разработать бизнес-логику своего реального приложения.
Чтобы дать вам простое представление о том, насколько среда неблагоприятна для разработчиков, возьмите «отсутствие среды отладки», о которой говорилось выше. Это еще хуже. В журналах отладки можно увидеть не более 20 последних запросов к серверу.Итак, по мере разработки внутри приложения вам необходимо создать «Новый» запрос отладки, выбрать свое имя, нажать «Сохранить», вернуться к своему приложению, обновить страницу, вернуться на вкладку отладки, попытаться найти запрос, который будет содержать ваш журнал отладки, нажмите «найти», чтобы найти текст, который вы ищете. Это как десять щелчков мышью, чтобы посмотреть результат отладки. Хотя это может показаться тривиальным, это просто пример того, как мало внимания и внимания уделяется опыту разработчика.
Все, что связано с платформой разработки, было придумано позже. Это замечательно тем, что есть, но по большей части это полная PITA. Если вы точно не знаете, что делаете (например, вы сертифицированы и очень хорошо разбираетесь в Apex), это легко займет у вас в 10-20 раз больше времени, чем в другой среде. что-то такое, что кажется смехотворно простым, если ты вообще сможешь добиться успеха.
Ограничения губернатора действительно настолько плохи. У вас есть комбинация различных ограничений (запросы к базе данных, возвращаемые строки, «операторы сценария», будущие вызовы, выноски и т. Д.), И вы должны точно знать , что вы делаете, чтобы их избежать. Например, если у вас есть вычисляемое сводное поле «формула» для объекта и у вас есть триггер для дочернего объекта, он выполнит триггеры родительского объекта и посчитает их в соответствии с вашими пределами. Подобные вещи не очевидны, пока вы не пройдете через болезненный процесс попыток и неудач.
Вы попробуете одно, чтобы обойти один предел, и достигнете другого в бесконечной игре «Ударьте предел».В процессе вам придется радикально изменить архитектуру всего приложения и подхода, а также переписать весь тестовый код. Вы должны иметь 75% покрытия тестового кода для развертывания в производственной среде, что на самом деле очень хорошо, но в сочетании со всеми другими ограничениями это очень обременительно. Вы фактически достигнете ограничений регулятора, написав свой тестовый код, который не подойдет в обычных пользовательских сценариях, но помешает вам достичь покрытия.
Это не говоря уже о целом ряде других проблем. Упаковка - это не то, что вы ожидаете. Вы не можете упаковать свое приложение и доставить его пользователям без значительного вмешательства пользователя и настройки со стороны администратора организации. AppExchange - это полная шутка, и они даже начали взимать 5 КБ только для того, чтобы ваше приложение появилось в списке. Импорт с помощью загрузчика данных - отстой, особенно если у вас есть триггеры. Вы не можете экспортировать все свои данные за один шаг, включая ваши отношения, таким образом, чтобы их можно было легко повторно импортировать в другую организацию за один шаг (например, в группу разработчиков). Вы можете обновлять песочницу только один раз в месяц из рабочей среды, без исключений, и вы не можете включать свои данные в обновление по умолчанию, если вы не позвонили руководителю своей учетной записи, чтобы разблокировать эту функцию. Вы не можете массово удалять данные в пользовательских объектах. Вы не можете изменить имена своих пакетов. Некоторые вещи могут занять несколько дней после того, как вы их запросили, например, резервное копирование данных перед развертыванием приложения, без отчета о ходе выполнения и отсутствия особого представления о том, когда именно был произведен экспорт. .Учитывая, что существуют проблемы синхронности данных при наличии взаимосвязей между данными, возникают серьезные проблемы целостности данных, поскольку не существует такой вещи, как «транзакция», которая может экспортировать множество объектов за один шаг. Вероятно, существуют некоторые коммерческие инструменты для облегчения некоторых из них, но они недоступны для обычных разработчиков, у которых может не быть огромного бюджета.
Все остальное, что здесь сказали другие люди, правда. Иногда для сохранения файла может потребоваться от пяти секунд до минуты.
Я не хочу быть таким негативным, потому что платформа в некотором роде очень крутая, и они пытаются делать в многопользовательской среде то, что никто другой не делает. Это очень инновационная среда и мощная на некоторых уровнях (на самом деле мне очень нравится VisualForce), но дайте ей еще год или два. Они сотрудничают с VMware, может быть, это даст разработчикам больше манежа, чем тюремной камеры для работы.
Учитывая, что Force.com является «облачной» платформой, его способность действовать как клиент для внешней службы, определенной WSDL, не впечатляет. См. http://force201.wordpress.com/2010/05/20/when-generate-from-wsdl-fails-hand-coding-web-service-calls/ , чтобы узнать, что у вас может быть делать.