 Hello, friends. I'm Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. So in this video, I'm going to discuss about fundamentals of Apex in Salesforce. So in this video, you will see like what is Apex and what are the characteristics of Apex that we use in Salesforce. Apart from Apex, if you want to watch more Salesforce training videos related to process builder flows, workflow rules or admin part. So you can find links of those playlist in the description of this video. So now I'm going to start with this video. So first of all, introduction. So this video will be sort of theoretical. So you will get to know all the theoretical details related to Apex in Salesforce. And in this playlist, if you watch further videos after this, so those will be mixed kind of videos, they will be containing theoretical component as well as practical implementation. So first point says Apex is object oriented programming language. So it supports classes, interfaces and inheritance. It uses Java like syntax and X like database stored procedures. So this is pretty simple. So I hope if you're working on Salesforce, it means you already did your hands on with C++ or Java. So you might be familiar with object oriented approach. Then second point says strongly typed. So it validates references to objects at compilation time. Then third point is integrated with the database. So provides direct access to records and their fields. Then it enabled developers to add business logics to system events, including button clicks, related record updates and visual force pages. Then last point says one can call Apex code through prep service request and trigger on objects. So these are some fundamental things which one needs to know about Apex. Moving further, these are the characteristics of Apex. So Apex is basically integrated. So it provides built-in support for common lightning platform idioms. Easy to use. Why so? Because it uses syntax and semantics which are easy to use and understand. And Apex is based on familiar Java idioms. So in our engineering or BTEC stream we all do programming in Java. So we all are familiar with the object oriented approach. So same idioms we are going to use in Apex. So if one is familiar with Java so they can easily pick the syntax and semantics which are used in Apex. Then further next point is data focused. So it provides transactional access to the database allows you to roll back operations. Then regress strongly typed language that uses direct reference to schema objects such as objects and a fields API. Then hosted it is interpreted, executed and controlled entirely by lightning platform. Multi-tenant aware. So Apex runs in multi-tenant environment like rest of lightning platform. Easy to test. Apex provides built-in support for unit test creation and execution. Test results indicate how much code is covered. So this is another feature that you will learn in terms of test classes. So once you write your Apex class you need to write test classes for that as well. So that through code you can identify how much code is covered that is implemented in Apex. Then versions. So one can save Apex code against different versions of the API. So these all are characteristics of Apex. So you need to know all these things. Now Apex is included in. So these are different environments or additions. So it is available in performance addition, unlimited addition, developer addition, enterprise addition and database.com. Then use Apex when you want to. So these are the areas where you can use Apex code. So if you want to create web and email service you can use Apex. Then if you want to perform complex validation over more than one object then you can use Apex. Then third point says create complex business logics. Those cannot be implemented by workflows. So then you can write your code. So basically Salesforce provide both the things. You can implement business logic through configuration like workflows, flows, process builder. But if they won't be able to implement some complex business logic then you can choose Apex as well. Then create custom logic that occurs over the entire transaction. And last is attach custom logic to another operation such as save or record. So that it occurs whenever the operation is executed regardless it originates in UI, VF or from SOAP API. So these are the areas where you can use Apex for your implementation purpose. Now what feature Apex supports? So this is very important slide. So Apex supports classes, interfaces, collections. So there are three collections that Apex supports which are list set and map. So in my further videos I will be creating separate videos for list set and map implementation. So there you will get to know how we can use these features. And I will also tell you how we can implement classes and interfaces in Apex. So watch those videos as well. Then objects, error notation, expressions, variables and constants. So these all things Apex supports. Then conditional statements like FLs we can use. Control statement we can use for and while loop. So if you want to test your certain condition you can use if else. If you want to iterate some set of instructions then you can use for loop or while loop. Then cloud DAF as it is stored, compiled and executed in cloud. So whatever code you write in Apex everything is stored, compiled and executed in cloud. So you don't need to install any other software. You just need to open your org and you can just write your Apex code. Then triggers to call methods. So we can implement triggers as well. Trigger is basically used to call Apex methods so we can use that as well. So I'm going to create separate playlist on triggers. So this playlist is basically containing all the information related to Apex. Then in another playlist I will show you how you can use triggers to call Apex methods. Then database statements to query and search data. So we can do these things as well in Apex. Then transactions and rollbacks. Then the global access modifier which is more permissive than public and allow access across namespace and application. So we can use this global access modifier as well. So public is there but we can use global as well. And last point says versioning of custom code. So these are the features that those are supported by Apex. So if you are going to implement Apex code. So you need to know what operations basically we can perform through Apex. So moving further. So this is the last slide of this video. So here you can see we can use two development tools to write Apex code. So first is developer console and second one is Salesforce extension for Visual Studio Code. So right now I am going to tell you how you can use developer console. Because of Visual Studio Code we need to install explicitly. But developer console is inbuilt with your Salesforce org. So let me take you to Salesforce org. So if you move here and click on this gear icon from where we open setup. So you will see one option that is developer console. So you can click on this option. So it will open developer console for you. So with this developer console you can implement your Apex code. So it is opening. So here you can see menus are available. So these are pre-implemented codes. So you can click on file, click on new. Here you can see we can create new Apex class. So my first Apex. So this is a name of file. So I am clicking on OK. So here you can see. So this way we created this Apex class. So you can write whatever code you want to write here. And we have one more thing here like open execute anonymous window. So from here we can also execute our code. So let's say you created your Apex class using developer console. And through this developer anonymous window. You can create instance of that class and you can call the methods. So you don't need to create triggers for testing this class. You can directly execute methods which are implemented in this class from here as well. So how we can use these things and how code is implemented. So that I'm going to explain in my another video. So do watch this complete playlist so that you can get to know like how we can implement different things with the help of Apex. So in this video I just covered the introduction part of the Apex. So I hope you got familiar with the Apex like what is Apex. What features it provides where we can use it. And I also demonstrated you like how you can use developer console to write Apex code. So in my further videos you will get to know more about Apex. And if you want to watch more videos related to Salesforce like other topics so you can go to description of this video and you will find links of all the playlist there. So thank you for watching this video.