Slaesforce Paltform Development Basic
Metadata
Salesforce的数据组织形式是基于其metadata-aware architecture(数据感知架构)上的一种抽象。Salesforce的数据组织分为objects,fields,records.可以 拿传统的关系型数据库与之进行比较:
Salesforce database
objects tables
fields columns
records rows
Salesforce标准对象(standard objects)和定制对象(custom objects)都具备上述的特征。
我们可以在一条记录的详情中看到元数据的存在。元数据了组织你的APP的结构体系。
In short, metadata forms the structure of your org. Whether you’re defining fields, business processes, or something more complex, metadata holds your configuration. The platform then renders your app’s metadata in the user interface along with its associated data.
This metadata-driven development model is one of the key differences between developing on the platform and developing outside of Salesforce. Because the platform is metadata-aware, it can auto-generate a significant part of your user experience for you. Things like dialogs, record lists, detail views, and forms that you’d normally have to develop by yourself come for free. You even get all the functionality to create, read, update, and delete (affectionately referred to as CRUD) custom object records in the database.
Salesforce Languages
There are three core technologies to learn about as a Salesforce developer.
- Lightning Component Framework(组件框架): A UI development framework similar to AngularJS or React.The Lightning Component framework is a user interface development framework for desktop and mobile. As its name suggests, it’s a component-based approach to UI development.
- Apex(类Java语言): Salesforce’s proprietary programming language with Java-like syntax.
- Visualforce(类JSP): A markup language that lets you customize Salesforce pages with a powerful combination of Apex and JavaScript.Visualforce lets you create and customize pages in Salesforce as well as integrate with other standard web technologies, including HTML, CSS, and JavaScript.
Difference between Component Framework and Visualforce:
组件框架和VF都是用来显示用户界面的方法,但二者对页面的组织方式有所区别:
With Lightning components, you’re developing components that can be pieced together to create pages. With Visualforce, you’re developing entire pages at once.
个人理解而言,模块框架更像C#中的窗体应用程序,你需要自己将各个组件组装起来以形成预期的效果;VF更像在eclipse中直接创建了一个JSP页面,虽然页面简单,但是具备了所有的要素,一次性就全部给你生成了。
各自的应用场景也有所不同:
While Lightning components are newer and better for things like mobile development, there are several situations where it can make more sense to use Visualforce.
Developer Console
The Developer Console is the Salesforce integrated development environment (IDE) that you can use to develop, debug, and test code in your org.
Salesforce APIs
Salesforce中的每个object都有属于自己的API name,用于获取这个object的数据,一般API name与object name的取值相同,但是为了区分标准对象和定制对象API,在用户API后面要加上__c,表明这是一个custom API;如,创建了一个定制对象Merchandise,Salesforce会自动给API name后加上__c,取名为Merchandise__c。
另外在为object取名时,Salesforce会自动将空格转换为_,并且去除非法字符。
Salesforce有一些常用的标准API:
Heroku
While APIs can be used both within Salesforce and with your external systems, Heroku is all about interacting with the outside world. Heroku is a web development platform that lets you quickly build, deploy, and scale web apps.
Heroku is built on Amazon Web Services (AWS), meaning a lot of infrastructure concerns you might have in standard web app development are taken care of for you. On top of that, Heroku Connect unifies your Salesforce data with your Heroku Postgres data so you don’t have to manage moving information across platforms. No worrying about infrastructure or data storage means more time for you to focus on new development.