

Learning Salesforce Development with Apex: Write, Run and Deploy Apex Code with Ease (English Edition) [Battisson, Paul] on desertcart.com. *FREE* shipping on qualifying offers. Learning Salesforce Development with Apex: Write, Run and Deploy Apex Code with Ease (English Edition) Review: The Author is knowledgeable and writes clean code //HOWEVER - The author writes well written code and introduces all relevant concepts well. However, there are massive cons to this book as well as someone who is 40% done with it: 1. He doesn't show you where to write the code. 2. He goes over the order of triggers and how they execute without actually showing you how to order them yourself thus making the entire introduction of the concept pointless. 3. I'm sitting here unable to write basic code although I understand the logic behind everything he says, I can't use it in production in Salesforce. 4. I don’t know how to pass variables or values from a class to a trigger meanwhile this dude is talking about Checkbox lists with a query that folds in on itself. Upset and watching even more disconnected people on youtube introduce the topic and equally skip over basic stuff thus making it even more impossible to follow along as they jump from triggers to classes with no possible way of making sense of the information. I hate when books skip over massive topics. LIKE DUDE THE SOQL DOESNT EVEN HAVE AN EXPORTER FOR THE RECORDS THAT IT RETRIEVES WHY DONT YOU WRITE AN APEX TRIGGER/CLASS THAT EXPORTS THE SOQL RESULTS Also, he has a typo in his OpportunityTrigger example he wrote 'Closed/Won' instead of 'Closed Won' it was probably intentional. Also, the SOQL chapter literally doesn't do anything I followed along and can't process: trigger TaskTrigger on Task (after insert, after update) { switch on Trigger.operationType { when AFTER_INSERT { Set contactIds = new Set(); For(Task t: Trigger.new) { If(t.WhoId != null && String.valueOf(t.WhoId).startsWith('003')) { contactIds.add(t.WhoId); } } Map contactMap = new Map ([SELECT Id, No_Of_Open_Tasks__c FROM Contact WHERE Id in: contactIds]); For(Task t :Trigger.new) { If(contactMap.containsKey(t.WhoId)) { contactMap.get(t.WhoId).No_of_Open_Tasks__c += 1; } } Update contactMap.values(); } when AFTER_UPDATE { Set contactIds = new Set(); For(Task t : Trigger.new) { If(t.IsClosed && !Trigger.oldMap.get(t.Id).IsClosed && t.WhoId != null && String.valueOf(t.WhoId).startsWith('003')) { contactIds.add(t.WhoId); } } Map contactMap = new Map([SELECT Id, No_Of_Open_Tasks__c FROM Contact WHERE Id in :contactIds]); For(Contact con : contactMap.values()) { Con.No_of_open_tasks__c = 0; } For(AggregateResult ar : [SELECT WhoId, Count(Id) total FROM Task WHERE IsClosed = false AND WhoId in :contactIds GROUP BY WhoID]) { String who = String.Valueof(ar.get('WhoId')); Decimal total = (Decimal)(ar.get('total')); contactMap.get(who).No_of_Open_Tasks__c = total; } update contactMap.values(); } } } Review: Super helpful! - This book is well written and extremely helpful. I have been learning Apex for about a year now and this really helped me to see the big picture and understand how everything fits together. Paul's code examples are very helpful. Additionally the chapters and structure of the book were perfect. Thank you so much for this book Paul!
| Best Sellers Rank | #1,510,739 in Books ( See Top 100 in Books ) #102 in Object-Oriented Software Design #387 in Object-Oriented Design #1,764 in Web Development & Design Programming |
| Customer Reviews | 4.5 4.5 out of 5 stars (185) |
| Dimensions | 7.5 x 0.58 x 9.25 inches |
| ISBN-10 | 9389898188 |
| ISBN-13 | 978-9389898187 |
| Item Weight | 15.7 ounces |
| Language | English |
| Print length | 254 pages |
| Publication date | August 10, 2020 |
| Publisher | BPB Publications |
C**O
The Author is knowledgeable and writes clean code //HOWEVER
The author writes well written code and introduces all relevant concepts well. However, there are massive cons to this book as well as someone who is 40% done with it: 1. He doesn't show you where to write the code. 2. He goes over the order of triggers and how they execute without actually showing you how to order them yourself thus making the entire introduction of the concept pointless. 3. I'm sitting here unable to write basic code although I understand the logic behind everything he says, I can't use it in production in Salesforce. 4. I don’t know how to pass variables or values from a class to a trigger meanwhile this dude is talking about Checkbox lists with a query that folds in on itself. Upset and watching even more disconnected people on youtube introduce the topic and equally skip over basic stuff thus making it even more impossible to follow along as they jump from triggers to classes with no possible way of making sense of the information. I hate when books skip over massive topics. LIKE DUDE THE SOQL DOESNT EVEN HAVE AN EXPORTER FOR THE RECORDS THAT IT RETRIEVES WHY DONT YOU WRITE AN APEX TRIGGER/CLASS THAT EXPORTS THE SOQL RESULTS Also, he has a typo in his OpportunityTrigger example he wrote 'Closed/Won' instead of 'Closed Won' it was probably intentional. Also, the SOQL chapter literally doesn't do anything I followed along and can't process: trigger TaskTrigger on Task (after insert, after update) { switch on Trigger.operationType { when AFTER_INSERT { Set<Id> contactIds = new Set<Id>(); For(Task t: Trigger.new) { If(t.WhoId != null && String.valueOf(t.WhoId).startsWith('003')) { contactIds.add(t.WhoId); } } Map<Id, Contact> contactMap = new Map<Id, Contact> ([SELECT Id, No_Of_Open_Tasks__c FROM Contact WHERE Id in: contactIds]); For(Task t :Trigger.new) { If(contactMap.containsKey(t.WhoId)) { contactMap.get(t.WhoId).No_of_Open_Tasks__c += 1; } } Update contactMap.values(); } when AFTER_UPDATE { Set<ID> contactIds = new Set<Id>(); For(Task t : Trigger.new) { If(t.IsClosed && !Trigger.oldMap.get(t.Id).IsClosed && t.WhoId != null && String.valueOf(t.WhoId).startsWith('003')) { contactIds.add(t.WhoId); } } Map<Id, Contact> contactMap = new Map<Id, Contact>([SELECT Id, No_Of_Open_Tasks__c FROM Contact WHERE Id in :contactIds]); For(Contact con : contactMap.values()) { Con.No_of_open_tasks__c = 0; } For(AggregateResult ar : [SELECT WhoId, Count(Id) total FROM Task WHERE IsClosed = false AND WhoId in :contactIds GROUP BY WhoID]) { String who = String.Valueof(ar.get('WhoId')); Decimal total = (Decimal)(ar.get('total')); contactMap.get(who).No_of_Open_Tasks__c = total; } update contactMap.values(); } } }
J**J
Super helpful!
This book is well written and extremely helpful. I have been learning Apex for about a year now and this really helped me to see the big picture and understand how everything fits together. Paul's code examples are very helpful. Additionally the chapters and structure of the book were perfect. Thank you so much for this book Paul!
A**R
A good introduction
The book was a good introduction to the salesforce platform. I suspect it will help me when I start working with the platform in the near future
N**L
A great addition if you have a Java programming background
Learning Salesforce Development with Apex is a very comprehensive read and is very helpful with navigating and adapting to the Force.com ecosystem. Paul did an excellent job at simplifying complex programming concepts. I would definitely recommend this book to beginner Salesforce developers.
A**R
Concepts
This book is good to learn basic concepts
K**A
doesnt look like its used!!
Pleased with my purchase, thanks a lot!!
K**G
Incredibly Concise, informative and straightforward
I come from a non coding background and I needed something to catch me up on coding syntax. This book definitely helped fill in the gaps. It's concise, informative and has excellent examples.
M**P
Bought this for my wife to help with her preparation for salesforce trailhead certification. She haven't attempted the certification but she says she was very satisfied with this.
M**J
I was a fresher candidate who was knowing only Python and Apex is almost familiar with Java. But I was not good at Java. So, learning Apex from vedios and from courses can be easy but it's better to learn through reading a book was the better option for me. So, I choose to buy by reading the reviews. And specifically our team works on Salesforce Development so it was very important for me to buy. Yes worth buying!!
A**.
The book is very useful for anyone preparing for Salesforce PD1 certification and has no previous coding experience or anyone looking to learn APEX. I found the sections on triggers and classes very useful and Paul provides practical examples for every concept which brings it to life. I would only add that to pass the exam, you need to also understand Visualforce pages (i.e. controllers and the MVC architecture) as well as Aura components which are not covered in the book.
し**る
電車に乗る時間を有効活用しようと思い、Salesforce認定Platformデベロッパー試験の受験を検討していることもあり、購入した。かなり平易な英語で書かれており、説明も丁寧で、英語が苦手な自分でもあまり苦労せずに読み通すことができた。しかし、期待していたよりは大分基礎的な内容で、結構残念に思った。特に、本書の内容であれば、認定Platformデベロッパー試験対策の公式Trailmixにほぼ全て載っているので、新規の情報を得たというよりは、知識の定着ができたという感じだった。コスパを重視する人にはお勧めできない。ただ、電車内でぼーっとしているよりは、英語を読む訓練にもなるので、買って悪くはなかったかな、という感想。
E**O
This book is really good, it explains super well the most important concepts of APEX Development, and you do some coding while learning on this book.
Trustpilot
3 weeks ago
4 days ago