首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >作为应用程序开发平台,salesforce.com和Apex是什么样子的?

作为应用程序开发平台,salesforce.com和Apex是什么样子的?
EN

Stack Overflow用户
提问于 2009-05-14 08:58:38
回答 8查看 11.7K关注 0票数 37

我最近发现salesforce.com不仅仅是一个在线客户关系管理系统,因为我偶然发现了莫里森的Case Study,他们在其中开发了一个作品管理应用程序。我一直在尝试它,以期在该平台上重新创建我们自己的作品管理系统。

我的背景是微软和.Net,显然首选是asp.net。然而,只有我自己有.net经验,我的经理有更多的遗留协同编程背景,我是自学的,正在考虑评估其他.net选择(例如Ironspeed)。

业务的性质是主要的2-5个并发施工类型的合同,每个合同运行3-5年,每个合同需要15-50个系统用户。传统上,我们使用我们的基于角色的作品管理系统来处理所有的事情,并对每个合同进行了调整。表面上看,Salesforce许可模型适合这种灵活性,但我担心开发灵活性/学习曲线以及围绕锁定的所有问题。除了salesforce自己的材料/博客,网上似乎没有多少对该平台的中立而冷静的分析

与更“传统”的.Net路线相比,有没有人有在salesforce上开发应用程序的经验?

EN

回答 8

Stack Overflow用户

发布于 2009-12-22 05:24:29

Salesforce对于开发除最简单的应用程序以外的任何应用程序都是一种相当痛苦的体验。Salesforce对你想要开发的东西有一个非常具体的想法,如果你的应用程序不是很好地在这些范围内,那就避开它!

调控器的限制真的很可怜: 16级递归,1兆字节堆,查询返回的对象不超过200个,一次调用不超过20个查询。在一次调用中有10个web标注,在一个列表中有1000个项目,而且它们还在继续。最终的结果是,你想出的任何巧妙方法都会与另一个限制相冲突。

一旦你达到了一定的规模,你的所有时间都将花在绕过这些限制进行编码上。Apex语言并不真正支持任何有意义的继承。即使是看似简单的任务,当遇到新的明显任意的限制时,最终也会花费数天时间,例如,Apex中的所有对象都继承自SObject;但是,不允许实例化通用SObject的集合,这使得构建有用的实用程序库几乎是不可能的。复杂(甚至相当简单)的数据库连接是不可能的。

对Salesforce的工具和支持也非常弱。它们是不可信任的,很难用于真正的开发过程。部署是一场噩梦,因为工具很难解决复杂的依赖问题,并且在正常开发过程中将创建的许多实体根本不能通过编程进行部署。其他一些小特性也很讨人喜欢,比如语言不区分大小写,但IDE区分大小写。没有任何重构工具可言,因此您得到了静态类型语言的所有痛苦,而没有任何所谓的好处。而且保存/编译时间很长--我经常看到超过2分钟的时间。当然,如果你在一次保存中有多个编译错误(你会的,因为你不会想要重新编译每个更改,以及2分钟的等待……)你一次只能得到一个错误!

在相关的注释中,您似乎已经注意到Salesforce文档相当自鸣得意--好吧,它一直都是这样的。即使是最深奥的技术参考中也没有提到常见错误,甚至没有提到给定api或特性的限制。这就是“这是你能做的最棒的事情”,没有提到,“但是你可以想象它也可以做___,但是你错了!大错特错!”文档给人的感觉就像是营销材料。我在这个环境中编程已经有几个月了,有时仍然很难找到一些基础知识,比如18+参考资料。

Salesforce不是一个灵活的环境。它不是一个快速开发的环境(至少与其他web编程框架相比是这样的)。除了像他们在教程中展示的玩具应用程序之外,它不是一个很好的构建环境。直接说不就行了。

票数 51
EN

Stack Overflow用户

发布于 2010-01-05 14:22:27

我知道这个问题有点老了,但它也值得看看这个问题Disadvantages of the Force.com platform

我已经在这个平台上开发了一段时间了,我完全同意Ben的观点。“开发平台”,也就是force.com,有如此多的错误,我真的不认为将其称为开发平台是公平的。

我们一直在努力解决工具支持,部署支持,甚至他们的技术支持,你猜对了,都很糟糕。

我想说的要点是,salesforce一开始是一个CRM,然后他们决定将“云平台”添加到他们的产品中。云平台很大程度上是为了扩展他们的客户关系管理产品,如果你想做的是扩展客户关系管理,那么force.com环境会让你很好地做到这一点。

它不会让你做好的事情是抛弃他们的CRM,让你轻松地构建自己的完全自定义的应用程序。您仍然与它们的安全性和用户模型联系在一起,在您的数据库中仍然有它们的标准对象,在您的生产环境中仍然有它们的标准页面。可以说,没有“文件->新项目”。

另外,也有人提到它是“基于java的”。这并不意味着你可以在其中运行java代码。这意味着他们窃取了一些java代码,并将其伪装成java的样子,但实际上并非如此……这真的很烦人,因为你不能只是抓取一组java库并将其导入到他们的云中……所以如果你想做一些像解析JSON这样的事情...你会自己写的。

当然,我会像躲避瘟疫一样避开force.com平台。

票数 12
EN

Stack Overflow用户

发布于 2010-01-05 12:49:55

听本的。不,真的。听本的。Salesforce是一个绝对痛苦的世界。Salesforce唯一好的地方就是他们的营销团队。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/862294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档