什么是Salesforce?

Salesforce(后面为了简洁都写作SF)总的来说是一个商业的云平台, 提供完善的商业解决方案,云平台开发,稳定开放的数据存储。

可以迎合并支持各类复杂的商业,尤其是业界内出SAP为做CRM最好的商业云平台,那我们来看看他都能支持哪些:

Commerce Cloud, -- 商业云,集成各种商业解决环境和方案,例如广告策划,产品推广

Sales Cloud, -- 销售云, 简单来说, 就是专门针对销售人员应用的一套,例如 资产管理, 基金销售之类的

Service Cloud, -- 服务云, 典型的是CRM(customer relationship management), 客户关系管理系统,有点像客服支持,Call Center 支持中心;

Data Cloud (including Jigsaw), --数据云,专业的数据对象存储云,有点像MongoDB,表都对象化了,没有table只有object;

Marketing Cloud, --市场云,主要针对市场营销,销售广告渠道之类,进行市场挖掘,客户群感知与发掘;

Community Cloud, --社区云, 可以建立各种社区论坛之类,大家可以发很有趣的文章或者帖子,各种有兴趣的有识之士可以进行评论、分享,有点像贴吧,博客园;

Analytics Cloud, --分析云,对商业数据进行专业的分析和梳理,引导用户做出有价值的市场分析和决策;

 App Cloud,  --应用云, 简单说就是集成各种各样的应用,SF 里面有个APP exchange,根据需要可以自行集成,然后也可以拓展各种各样市面上可以在SF上门集成和嫁接的app,

IoT , -- 物联网,向硬件方面集成的应用,例如手机端访问SF app 应用设置定时任务,对应链接的IoT设备可以执行相应的任务;

 

主要构成部件:

Setup & configuration - 设置与配置

因为SF是基于平台的,很多项目可以不完全依赖于开发,更偏向于有UI的控制项进行全局或者局部的设置;例如 传统的网站需要Apache或者IIS这样的服务器做支撑,SF 则可以在Sites 设置里面建立相应的站点,然后配置相应的访问权限访问页面就可以建立站点了。

 

Apex 编程语言 - Salesforce 自己的编程语言

apex 语言是SF自己的一套编程语言, 是一种类JAVA和C#的OOP编程语言,也是一种强类型语言,但是他大小写不敏感,大部分学过java和C#的同学,基本可以很快上手,学习起来没有什么困难,但是毕竟语言和语言之间有差异,SF本身自己语言也有一定基于平台的限制性和约束性,有些JAVA和C#特性并不完全支持,但有些他支持的特性JAVA和C#未必有,例如线程Thread貌似在SF里面是没有的,可能以其他方式或技术途径来实现,而Class的声明中 with sharing/without sharing 这种写法确实Apex特有的;

Visualforce page

Visualforce 是SF中Apex 对应的前端页面, 风格有点类似于aspx, 都是xml 风格规范的html,能很好地支持和兼容HTML所有原生标签,还有jQuery, AngularJS等前端编程语言;

来上代码看一看,瞧一瞧:

 1 <apex:page controller="CompanyController">
 2     <apex:form >
 3         <apex:outputPanel layout="block">
 4             <apex:outputPanel layout="block">
 5                 <apex:outputPanel layout="block">
 6                     <apex:outputPanel layout="block" id="companyList">
 7 
 8                         <apex:outputPanel layout="block" styleClass="paginator"
 9                             style="padding:0px;">
10                             <apex:panelGrid columns="2" style="width:100%;"
11                                 styleClass="az_text_table" rowClasses="paginator,paginator">
12                                 <apex:outputText rendered="{!!resultPagination.hasRecord}"
13                                     value="第 0 页,共 0 页,每页 {!resultPagination.pageSize} 条" />
14                                 <apex:outputText rendered="{!resultPagination.hasRecord}"
15                                     value="第 {!resultPagination.pageNumber} 页,共 {!resultPagination.totalPage} 页,每页 {!resultPagination.pageSize} 条" />
16                                 <apex:panelGroup >
17                                     <apex:outputPanel >
18                                         <apex:outputText value="首页"
19                                             rendered="{!(!resultPagination.hasRecord)||(!resultPagination.hasPrevious)}"
20                                             style="border: solid 1px #ddd;padding:1px 6px;background: #e8e8e9;margin-right:5px;"></apex:outputText>
21                                         <apex:commandLink action="{!firstPage}"
22                                             rendered="{!resultPagination.hasRecord && resultPagination.hasPrevious}"
23                                             immediate="true" reRender="companyList" value="首页"
24                                             style="margin-right:5px;" />
25                                     </apex:outputPanel>
26                                     <apex:outputPanel >
27                                         <apex:outputText value="上一页"
28                                             rendered="{!!resultPagination.hasRecord || (!resultPagination.hasPrevious)}"
29                                             style="border: solid 1px #ddd;padding:1px 6px;background: #e8e8e9;margin-right:5px;"></apex:outputText>
30                                         <apex:commandLink action="{!previousPage}"
31                                             rendered="{!resultPagination.hasRecord && resultPagination.hasPrevious}"
32                                             immediate="true" reRender="companyList" value="上一页"
33                                             style="margin-right:5px;" />
34                                     </apex:outputPanel>
35                                     <apex:outputPanel >
36                                         <apex:outputText value="{!resultPagination.pageNumber}"
37                                             styleClass="current" />
38                                     </apex:outputPanel>
39                                     <apex:outputPanel >
40                                         <apex:outputText value="下一页"
41                                             rendered="{!!resultPagination.hasRecord || !resultPagination.hasNext}"
42                                             style="border: solid 1px #ddd;padding:1px 6px;background: #e8e8e9;margin-right:5px;margin-left:5px;"></apex:outputText>
43                                         <apex:commandLink action="{!nextPage}"
44                                             rendered="{!resultPagination.hasRecord && resultPagination.hasNext}"
45                                             immediate="true" reRender="companyList" value="下一页"
46                                             style="margin-right:5px;margin-left:5px;" />
47                                     </apex:outputPanel>
48                                     <apex:outputPanel >
49                                         <apex:outputText value="尾页"
50                                             rendered="{!!resultPagination.hasRecord || !resultPagination.hasNext}"
51                                             style="border: solid 1px #ddd;padding:1px 6px;background: #e8e8e9;margin-right:5px;"></apex:outputText>
52                                         <apex:commandLink action="{!lastPage}"
53                                             rendered="{!resultPagination.hasRecord && resultPagination.hasNext}"
54                                             immediate="true" reRender="companyList" value="尾页"
55                                             style="margin-right:5px;" />
56                                     </apex:outputPanel>
57                                 </apex:panelGroup>
58                             </apex:panelGrid>
59                         </apex:outputPanel>
60                     </apex:outputPanel>
61                 </apex:outputPanel>
62             </apex:outputPanel>
63         </apex:outputPanel>
64     </apex:form>
65 </apex:page>
VisualForce Code

相关文章: