Visualforce ์์ํ๊ธฐ
ํ์ต ๋ชฉํ
์ด ์ ๋์ ์๋ฃํ๋ฉด ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
- Visualforce์ ์ ์์ ์ ์ฉํ ๊ธฐ๋ฅ์ ๋ํด ์ค๋ช
ํ ์ ์์ต๋๋ค.
- Visualforce๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ๋ฅผ ์ธ ๊ฐ์ง ์ด์ ๋์ดํ ์ ์์ต๋๋ค.
Visualforce ์๊ฐ
Visualforce๋ ๊ฐ๋ฐ์๊ฐ Lightning Platform์์ ํธ์คํ ํ ์ ์๋ ๋ชจ๋ฐ์ผ ๋ฐ ๋ฐ์คํฌํ ์ฑ์ ์ํ ์ ๊ตํ ์ฌ์ฉ์ ์ ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ ์ ์๊ฒ ํด์ฃผ๋ ์น ๊ฐ๋ฐ ํ๋ ์์ํฌ์ ๋๋ค. Visualforce๋ฅผ ์ฌ์ฉํ์ฌ Lightning Experience์ ์คํ์ผ๊ณผ ์ผ์นํ๋ ์ฑ์ ๊ตฌ์ถํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์๋ฒฝํ๊ฒ ์ฌ์ฉ์ ์ ์๋ ๊ณ ์ ํ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
Visualforce๋ฅผ ํตํด ๊ฐ๋ฐ์๋ Salesforce์ ๊ธฐ๋ณธ ์ ๊ณต ๊ธฐ๋ฅ์ ํ์ฅํ๊ณ ์๋ก์ด ๊ธฐ๋ฅ์ผ๋ก ๊ต์ฒดํ๋ฉฐ ์์ ํ ์๋ก์ด ์ฑ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ๊ฐ๋ ฅํ ๊ธฐ๋ณธ ์ ๊ณต ํ์ค ์ปจํธ๋กค๋ฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ฑฐ๋ Apex์์ ์ฌ์ฉ์ ์ ์ ๋น์ฆ๋์ค ๋ก์ง์ ์์ฑํฉ๋๋ค. ์กฐ์ง์ ์ํ ๊ธฐ๋ฅ์ ๊ตฌ์ถํ๊ฑฐ๋ AppExchange์์ ํ๋งค์ฉ ์ฑ์ ๋ง๋ค ์ ์์ต๋๋ค.
Visualforce ์ฑ ๊ฐ๋ฐ์ ์น ์ฑ์ ๊ตฌ์ถํ ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ์๊ฒ๋ ์ต์ํฉ๋๋ค. ๊ฐ๋ฐ์๋ ๊ตฌ์ฑ ์์, HTML ๋ฐ ์ ํ์ ์คํ์ผ ์์๋ฅผ ๊ตฌ์ฑํ์ฌ Visualforce ํ์ด์ง๋ฅผ ๋ง๋ญ๋๋ค. Visualforce๋ ๋ชจ๋ ํ์ค ์น ๊ธฐ์ ๋๋ JavaScript ํ๋ ์์ํฌ์ ํตํฉํ์ฌ ๋ณด๋ค ์๋๊ฐ ์๊ณ ํ๋ถํ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ๊ฐ ํ์ด์ง๋ ๊ณ ์ ํ URL๋ก ์ก์ธ์คํ ์ ์์ต๋๋ค. ํ์ด์ง์ ์ฌ์ฉ์๊ฐ ์ก์ธ์คํ๋ฉด ์๋ฒ๋ ํ์ด์ง์ ํ์ํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ํ์ด์ง๋ฅผ HTML๋ก ๋ ๋๋งํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ผ์ฐ์ ์ ๋ฐํํ์ฌ ํ์ํฉ๋๋ค.

Visualforce ํ์ด์ง์ ์
๋ค์์ ์๋ํ๋ Visualforce ํ์ด์ง์ ๊ฐ๋จํ ์์ ๋๋ค.
<apex:page standardController="Contact" >
<apex:form >
<apex:pageBlock title="Edit Contact">
<apex:pageBlockSection columns="1">
<apex:inputField value="{!Contact.FirstName}"/>
<apex:inputField value="{!Contact.LastName}"/>
<apex:inputField value="{!Contact.Email}"/>
<apex:inputField value="{!Contact.Birthdate}"/>
</apex:pageBlockSection>
<apex:pageBlockButtons >
<apex:commandButton action="{!save}" value="Save"/>
</apex:pageBlockButtons>
</apex:pageBlock>
</apex:form>
</apex:page>์ด ํ์ด์ง๋ ์ฐ๋ฝ์ฒ ๋ฐ์ดํฐ ์ ๋ ฅ ์์์ ํ์ํฉ๋๋ค.

์ด ํ์ด์ง๋ 12์ค์ด ๋๋ ๋งํฌ์ ์์ ๋ง์ ์์ ์ ์ํํฉ๋๋ค.
- ์๋ ๋ฐ์ดํฐ ์ก์ธ์ค ๋ฐ ์์ , ํ์ค ์์
๋ฑ์ ์ ๊ณตํ๋ Visualforce ํ๋ ์์ํฌ์ ์ผ๋ถ์ธ Visualforce ํ์ค ์ปจํธ๋กค๋ฌ์ ์ฐ๊ฒฐํฉ๋๋ค.
- ๋ ์ฝ๋ ID ์์ด ์ก์ธ์คํ๋ฉด ํ์ด์ง์ ๋น ๋ฐ์ดํฐ ์
๋ ฅ ์์์ด ํ์๋ฉ๋๋ค. Save(์ ์ฅ)๋ฅผ ํด๋ฆญํ ๊ฒฝ์ฐ ์์ ๋ฐ์ดํฐ์์ ์ ๋ ์ฝ๋๊ฐ ์์ฑ๋ฉ๋๋ค.
- ๋ ์ฝ๋ ID๋ก ์ก์ธ์คํ๋ฉด ํ์ด์ง์์ ํด๋น ์ฐ๋ฝ์ฒ ๋ ์ฝ๋์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ ํธ์ง ๊ฐ๋ฅํ ํ์์ผ๋ก ํ์ํฉ๋๋ค. Save(์ ์ฅ)๋ฅผ ํด๋ฆญํ ๊ฒฝ์ฐ ์ฐ๋ฝ์ฒ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค์ ์ ์ฅ๋ฉ๋๋ค.
- ๊ฐ ์
๋ ฅ ํ๋๋ ๊ฐ์ ํ์ํ๋ ๋ฐฉ๋ฒ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค.
- ์ด๋ฉ์ผ ํ๋๋ ์ ํจํ ์ด๋ฉ์ผ ์ฃผ์์ ๋ํด ์๊ณ ์์ผ๋ฉฐ ์๋ชป๋ ์ด๋ฉ์ผ์ ์
๋ ฅํ๋ฉด ์ค๋ฅ๋ฅผ ํ์ํฉ๋๋ค.
- ๋ ์ง ํ๋๋ฅผ ํด๋ฆญํ ๊ฒฝ์ฐ ๋ ์ง๋ฅผ ๋ ์ฝ๊ฒ ์
๋ ฅํ ์ ์๋๋ก ๋ ์ง ํ๋์ ๋ ์ง ์์ ฏ์ด ํ์๋ฉ๋๋ค.
-
Save(์ ์ฅ) ๋ฒํผ์ ํ์ค ์ปจํธ๋กค๋ฌ์์ ์ ๊ณตํ๋ ํ์ค ์์
์ค ํ๋์ธ ์ ์ฅ ์์
๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค.
Visualforce๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ
Salesforce๋ ์กฐ์ง ๋ด์์ Visualforce๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. Salesforce์ ๊ธฐ๋ณธ ์ ๊ณต ๊ธฐ๋ฅ์ ํ์ฅํ๊ณ ์๋ก์ด ๊ธฐ๋ฅ์ผ๋ก ๋ณ๊ฒฝํ์ฌ ์์ ํ ์๋ก์ด ์ฑ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๋ค์์ ์กฐ์ง์ Visualforce๋ฅผ ์ถ๊ฐํ ์ ์๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋๋ค. ์ด ์คํฌ๋ฆฐ์ท์ ์์๋ฅผ ๋ณด์ฌ์ฃผ๋ฉฐ ์กฐ์ง์ ์ฌ์ฉ์ ์ ์ ํ์ด์ง์ ์ฑ์ ๋ฐ์ํ์ง ์๋๋ค๋ ์ ์ ๊ธฐ์ตํ์ธ์.
์ฑ ์์ ๊ด๋ฆฌ์์์ Visualforce ํ์ด์ง ์ด๊ธฐ
Visualforce ์ฑ๊ณผ ์ฌ์ฉ์ ์ ์ ํญ์ ๋ชจ๋ ์ฑ ์์ ๊ด๋ฆฌ์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฑ ์์ ๊ด๋ฆฌ์๋ฅผ ์ด๋ ค๋ฉด ํ์ ๋ง๋์์
๋ฅผ ํด๋ฆญํฉ๋๋ค. ๋ชจ๋ ์ฑ๊ณผ ํญ๋ชฉ์ ๋ณด๋ ค๋ฉด View All(๋ชจ๋ ๋ณด๊ธฐ)์ ์ ํํฉ๋๋ค.

์ฌ์ฉ์ ์ ์ ์ฑ (1)์ ํด๋ฆญํ์ฌ ํ์ฑํํฉ๋๋ค. ์ฑ์ ์ถ๊ฐํ Visualforce ํญ์ ํฌํจํ์ฌ ์ฑ์ ํญ๋ชฉ์ด ํ์ ๋ง๋์ ํ์๋ฉ๋๋ค. ์ฑ ์์ ๊ด๋ฆฌ์์์ ์ก์ธ์คํ๋ ค๋ฉด Visualforce ํ์ด์ง๋ฅผ ํญ์ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ์ฑ์ ์๋ Visualforce ํญ์ ๋ชจ๋ ํญ๋ชฉ (2)์์ ์ฐพ์ ์ ์์ต๋๋ค.
ํ์ ๋ง๋์ Visualforce ํ์ด์ง ์ถ๊ฐ
์์ ์์์ ์ค๋ช ํ ๋๋ก Visualforce ํญ์ ์ฑ์ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ ์ฑ์ ํ์ ๋ง๋์ ํญ๋ชฉ์ผ๋ก ํ์๋ฉ๋๋ค.

ํ์ค ํ์ด์ง ๋ ์ด์์์ Visualforce ํ์ด์ง ํ์
Visualforce ํ์ด์ง๋ฅผ ํฌํจํ์ฌ ํ์ด์ง ๋ ์ด์์์ ํ์ฅํ์ฌ ํ์ค ํ์ด์ง์ ์์ ํ ์ฌ์ฉ์ ์ ์๋ ์ปจํ ์ธ ๋ฅผ ํ์ํฉ๋๋ค. ์ฌ๊ธฐ์์์ ๋์์ ํ์ด์ง ๋ ์ด์์์ ๋ณด๊ธฐ ์ํด ๋ ์ฝ๋์ ์ธ๋ถ ์ฌํญ์ ํ์ธํด์ผ ํ๋ค๋ ์ ์ ์ ์ธํ๊ณ Salesforce Classic๊ณผ ๋์ผํฉ๋๋ค.

Lightning ์ฑ ๋น๋์์ Visualforce ํ์ด์ง๋ฅผ ๊ตฌ์ฑ ์์๋ก ์ถ๊ฐ
Lightning ์ฑ ๋น๋์์ ์ฌ์ฉ์ ์ ์ ์ฑ ํ์ด์ง๋ฅผ ์์ฑํ ๊ฒฝ์ฐ Visualforce ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง์ Visualforce ํ์ด์ง๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.

๋น ๋ฅธ ์์ ์ผ๋ก Visualforce ํ์ด์ง ์์

Lightning Experience ์ฌ์ฉ์ ์ธํฐํ์ด์ค์์์ ๋ฐฐ์น๋ Salesforce Classic๊ณผ ์๋นํ ๋ค๋ฅด์ง๋ง ๋น ๋ฅธ ์์ ์ ์ถ๊ฐํ๋ ํ๋ก์ธ์ค๋ ๊ฑฐ์ ๋์ผํฉ๋๋ค. ๊ฐ์ฒด์ ํ์ด์ง ๋ ์ด์์์์ ์ ์ ํ ๊ฒ์์ ์์ญ์ ์ถ๊ฐํฉ๋๋ค.

ํ์ค ๋ฒํผ ๋๋ ๋งํฌ๋ฅผ ์ฌ์ ์ํ์ฌ Visualforce ํ์ด์ง ํ์
Visualforce ํ์ด์ง๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์์ ์ ์ฌ์ ์ํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์ฌ์ ์๋ ๋ฒํผ์ด๋ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด ํ์ค ํ์ด์ง ๋์ ํ์ด์ง๊ฐ ํ์๋ฉ๋๋ค. ์ด ์ค์ ์ Salesforce Classic๊ณผ ๊ฑฐ์ ๋์ผํฉ๋๋ค. ์ค์ ๋ก ์์ ์ฌ์ ์๋ฅผ ์ ์ํ ๋ Lightning Experience์ ์๋ค๊ณ ํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.

์ฌ์ฉ์ ์ ์ ๋ฒํผ ๋๋ ๋งํฌ๋ฅผ ์ฌ์ฉํ์ฌ Visualforce ํ์ด์ง ํ์
๊ฐ์ฒด์ ๋ํด ์ ์ํ์ฌ ๋ฒํผ ๋ฐ ๋งํฌ ํํ๋ก ๊ฐ์ฒด์ ๋ํ ์ ์์ ์ ๋ง๋ค ์ ์์ต๋๋ค. JavaScript ๋ฒํผ ๋ฐ ๋งํฌ๋ Lightning Experience์์ ์ง์๋์ง ์์ง๋ง Visualforce(๋ฐ URL) ํญ๋ชฉ์ ์ง์๋ฉ๋๋ค. Visualforce ๋ฒํผ ๋ฐ ๋งํฌ๋ฅผ ์ ์ํ๋ ํ๋ก์ธ์ค๋ Salesforce Classic์ ํ๋ก์ธ์ค์ ๋์ผํ๋ฏ๋ก ์ฌ๊ธฐ์ ํ์ํ์ง ์๊ฒ ์ต๋๋ค.
๋ฆฌ์์ค
- Visualforce ๊ฐ๋ฐ์ ๊ฐ์ด๋
- Dreamforce ์ธ์ : Visualforce ์๊ฐ
- Trailhead: Lightning ์ฑ ๋น๋
- Trailhead: Lightning Experience์์ Visualforce ์ฌ์ฉ
