บทช่วยสอน Framer: วิธีสร้างต้นแบบเชิงโต้ตอบที่น่าทึ่ง

เผยแพร่แล้ว: 2022-03-11

ดูตัวอย่างต้นแบบด้านล่าง สิ่งเหล่านี้ทำใน Framer หลังจากบทช่วยสอนนี้ คุณจะสามารถเริ่มสร้างต้นแบบแอนิเมชั่นที่น่าทึ่งได้ในเวลาไม่นาน

ตัวอย่างต้นแบบ Framer
Wojciech Dobry (การโต้ตอบทางเว็บ), Patryk Adas (mapbox API), Krijn Rijshouwer – ทีม Framer

Framer ออกมาพร้อมกับเวอร์ชันใหม่ล่าสุดเมื่อสัปดาห์ที่แล้ว และตลาดการสร้างต้นแบบจะไม่เหมือนเดิมอีกต่อไป เครื่องมือสร้างต้นแบบ Framer เคยยากต่อการเรียนรู้ แต่มีประโยชน์ในฐานะซอฟต์แวร์สร้างต้นแบบที่แม่นยำและไร้ขีดจำกัดที่สุด ตอนนี้สิ่งต่าง ๆ ได้เปลี่ยนไป ตอนนี้ Framer มาพร้อมกับฟีเจอร์ Design + Code + Collaborate ซึ่งหมายความว่าคุณสามารถสร้างต้นแบบของคุณภายใน Framer ได้โดยตรง พัฒนาต้นแบบที่ทำงานได้อย่างสมบูรณ์โดยไม่ต้องใช้ซอฟต์แวร์ของบริษัทอื่นและไม่มีทักษะในการเขียนโค้ดใดๆ

ที่นี่ ฉันจะสอนวิธีใช้โค้ด Framer แบบง่ายๆ โดยไม่ต้องมีความรู้เรื่องการเขียนโปรแกรมมาก่อน คุณจะได้เรียนรู้วิธีรวมคุณลักษณะที่ดีที่สุดจากโหมดการออกแบบและโค้ดใน Framer เพื่อสร้างต้นแบบภาพเคลื่อนไหวและแบบโต้ตอบ ลองเข้าสู่บทช่วยสอนนี้และหยิบตัวอย่างโค้ดเล็กๆ น้อยๆ มาปรับปรุงต้นแบบของคุณ

ข้อมูลพื้นฐานเกี่ยวกับเฟรมเรอร์

มาเริ่มกันเลย! เพียงไปที่ framer.com และดาวน์โหลดเวอร์ชันทดลอง พวกเขาให้เวลาคุณสองสัปดาห์ในการสาธิตการทำงานเต็มรูปแบบ และเชื่อฉันเถอะ ถึงเวลาเรียนรู้ มากมาย เกี่ยวกับซอฟต์แวร์สร้างต้นแบบนี้แล้ว

หลังการติดตั้ง คุณอาจต้องการดูตัวอย่างบางส่วนที่มีให้และลองเล่นดูบ้าง เมื่อเสร็จแล้วก็ถึงเวลาเริ่มสร้างต้นแบบ

(ในบทช่วยสอน Framer นี้ ฉันจะเน้นที่การสร้างต้นแบบโดยตรงใน Framer.js คุณควรรู้ด้วยว่ามีวิธีอื่นๆ ในการเริ่มสร้างต้นแบบใน Framer ตัวอย่างเช่น คุณสามารถทำงานกับไฟล์ Sketch ได้โดยตรง ฉันจะครอบคลุมเวิร์กโฟลว์นั้นใน บทความอื่น)

Framer ใหม่ทั้งหมด – โหมดการออกแบบ

ในบทความนี้ เราจะสร้างต้นแบบเจ๋งๆ สามแบบภายในไม่กี่นาทีโดยใช้โค้ดน้อยที่สุด: การโต้ตอบพื้นฐาน ส่วนประกอบการเลื่อน และองค์ประกอบของหน้า

3 การโต้ตอบที่แตกต่างกันใน Framer - บทช่วยสอน framer

Framer เวอร์ชันใหม่ล่าสุดมีคุณสมบัติใหม่ที่ยอดเยี่ยม: โหมดการออกแบบ ช่วยให้คุณทำงานได้เกือบจะเหมือนกับใน Sketch หรือ Figma คุณสามารถสร้างเลเยอร์เวกเตอร์ นำเข้ารูปภาพ หรือสร้างและจัดรูปแบบเลเยอร์ข้อความได้ ทั้งหมดนี้มีประโยชน์มากเมื่อคุณต้องการสร้างต้นแบบอย่างรวดเร็วโดยไม่ต้องใช้แอพของบุคคลที่สาม

มาสร้างการออกแบบประเภทแอปกันเถอะ

ในส่วนแรกของบทช่วยสอนนี้ เราจะเตรียมสนามเด็กเล่นสำหรับต้นแบบ Framer ของเรา เราจะสร้างการออกแบบประเภทแอปด้วยเลเยอร์ต่างๆ สามประเภท ได้แก่ เวกเตอร์ รูปภาพ และข้อความ

โหมดการออกแบบใน Framer

ขั้นตอนที่ 1: สร้างปุ่มและพื้นหลังอย่างง่าย

ในการเริ่มต้นการออกแบบของคุณ ให้เลือกแท็บแรก ซึ่งเป็น โหมดการออกแบบ และเพิ่มอาร์ตบอร์ด เช่นเดียวกับใน Sketch ในบทช่วยสอนนี้ เราจะสร้างต้นแบบของ iPhone 7 ดังนั้นฉันจึงเลือกพรีเซ็ตนี้เป็นขนาดอาร์ตบอร์ดของฉัน ฉันยังเพิ่มการเติมพื้นหลังสีน้ำเงิน

จากนั้นเลือกเครื่องมือ สี่เหลี่ยมผืนผ้า และสร้างรูปร่างในรูปแบบของปุ่มกลมอย่างง่าย

การเพิ่มและจัดสไตล์เลเยอร์รูปร่าง

ขั้นตอนที่ 2: เพิ่มการ์ดที่มีรูปภาพ

วิธีที่สองในการเพิ่มเลเยอร์คือคุณลักษณะการ ลากแล้วปล่อย คุณสามารถเลือกไฟล์รูปภาพจากคอมพิวเตอร์ของคุณ วางลงใน Framer และจัดรูปแบบโดยใช้แถบด้านข้างทางขวา ฉันใช้ภาพประกอบที่เรียบง่ายและจัดรูปแบบเป็นการ์ด

คุณสมบัติลากและวางสำหรับเลเยอร์ภาพ

ขั้นตอนที่ 3: เพิ่มชื่อแอป

Framer ยังให้คุณเพิ่มเลเยอร์ข้อความได้อีกด้วย อีกครั้ง การใส่สไตล์นั้นโดยพื้นฐานแล้วเหมือนกับในซอฟต์แวร์กราฟิกใดๆ คุณสามารถเลือกแบบอักษร ขนาด การจัดตำแหน่ง ระยะห่างระหว่างตัวอักษร และอื่นๆ

การเพิ่มและจัดรูปแบบเลเยอร์ข้อความ

ขั้นตอนที่ 4: บอก Framer ว่าเลเยอร์ใดเป็นแบบโต้ตอบ

เรามีอีกหนึ่งขั้นตอนก่อนที่จะเริ่มต้นแบบ Framer ของเรา เราแค่ต้องบอก Framer ว่าเลเยอร์ใดจะเป็นแบบโต้ตอบ เพียงคลิกจุดที่อยู่ถัดจากชื่อเลเยอร์ภายในแผงเลเยอร์ เป็นการดีที่จะตั้งชื่อแต่ละเลเยอร์ให้ถูกต้องเพื่อการใช้งานต่อไป ฉันตั้งชื่อเลเยอร์ การ์ด และ ปุ่ม ของฉัน

ตั้งชื่อเลเยอร์และเปิดใช้งานทริกเกอร์

ขั้นตอนที่ 5 (โบนัส): กำหนดสีสากลของคุณ

แนวปฏิบัติที่ดีคือการกำหนดตัวแปรบางอย่างสำหรับต้นแบบทั้งหมด คุณสามารถกำหนดจานสี การออกแบบตัวอักษร และขนาดพื้นฐานที่คุณจะใช้ตั้งแต่เริ่มต้น ซึ่งช่วยประหยัดเวลาลงได้

เมื่อคุณกำลังตั้งค่าสีของคุณ เพียงตั้งชื่อสีเหล่านั้นในโปรแกรมแก้ไขโค้ด และระบุค่า HEX, RGB หรือ RGBa หลังเครื่องหมาย “=” ที่เหมาะสม อย่าลืมเก็บตัวแปรทั้งหมดไว้ที่ด้านบนสุดของโค้ด

 # variables ------------------------------- blue = "#005D99" green = "#3DBE8B" white = "#FFFFFF"

ขั้นตอนที่ 6 (โบนัส): การเพิ่มตำแหน่งสัมพัทธ์

ด้วย Framer ใหม่ มันง่ายมากที่จะทำให้ต้นแบบของคุณตอบสนอง คุณสามารถกำหนดตำแหน่งสัมพัทธ์ได้จาก โหมดการออกแบบ ดังที่แสดงด้านล่าง:

การใช้ตำแหน่งสัมพัทธ์สำหรับเลเยอร์

ต่อไปนี้คือรายการคุณสมบัติสั้นๆ ที่มีประโยชน์สำหรับการจัดแนวและคำนวณตำแหน่งของเลเยอร์ในโค้ดโดยตรง คุณสามารถคำนวณหาตำแหน่งของเลเยอร์ได้ สิ่งนี้จำเป็นเมื่อคุณเพิ่มการโต้ตอบในภายหลัง และคุณต้องการให้ต้นแบบของคุณตอบสนอง

 # This is how you can align layer position: x: Align.center(0) # align layer horizontaly x: Align.center(200) # align layer horizontaly with 200 offset x: Align.right(0) x: Align.left(0) y: Align.center(0) # align layer verticaly y: Align.top(0) y: Align.bottom(0) # You can use also some variables width: Screen.width # current device width height: Screen.height # current device height # As a reference you can also user layer names x: layerA.x # layerA horizontal position y: layerA.y # layerA vertical position width: layerA.width # layerA width height: layerA.height # layerA height # You can combine all of this into the simple math to calculate position or dimensions width: Screen.width / 2 - layerA.width

ตอนนี้คุณพร้อมแล้ว—มาเริ่มโครงการกันเลย

เราได้สร้างเลเยอร์ Framer ประเภทต่างๆ ตอนนี้สนามเด็กเล่นโต้ตอบของเราพร้อมที่จะไปแล้ว

บทช่วยสอนของ Framer: ต้นแบบที่ดูคล้ายแอปพร้อมการโต้ตอบและแอนิเมชั่นที่สร้างใน Framer
เราจะสร้างต้นแบบแอปนี้ทีละขั้นตอน

ในที่สุด! ส่วนที่น่าเบื่อได้จบลงแล้ว ตอนนี้ก็ถึงเวลาสำหรับการออกแบบการโต้ตอบ

ดาวน์โหลดต้นแบบทั้งหมดที่นี่

1. การสร้างการโต้ตอบคำติชมของปุ่ม

ในการออกแบบการโต้ตอบใดๆ เราจำเป็นต้องมีทริกเกอร์เพื่อให้เกิดขึ้น มันสามารถเป็นได้เกือบทุกอย่าง: การแตะหน้าจอ จุดสิ้นสุดของแอนิเมชั่น จุดสิ้นสุดของการโหลดรูปภาพ หรือมาตรความเร่งในโทรศัพท์ของคุณ

ขั้นตอนที่ 1: การสร้างเหตุการณ์สำหรับการโต้ตอบ

เราจะทำให้มันง่าย มาสร้างคำติชมของปุ่มเมื่อคุณแตะโดยใช้คำสั่งต่อไปนี้:

กวดวิชาเฟรมเรอร์

 layerA.onTap (event, layer) ->

Framer เพิ่งเขียนโค้ดบรรทัดนี้ให้คุณ หมายความว่าเมื่อคุณแตะเลเยอร์ของปุ่ม บางสิ่งจะเกิดขึ้น

ขั้นตอนที่ 2: การเพิ่มแอนิเมชั่นให้กับเหตุการณ์

มาเริ่มแอนิเมชั่นหลังจากทริกเกอร์นี้กัน ในการดำเนินการนี้ ให้คลิกที่จุดถัดจากเลเยอร์ ปุ่ม ในแผงเลเยอร์ จากนั้นเลือก เพิ่มแอนิเมชั่น เมื่อคุณเพิ่มแอนิเมชั่น Framer จะกระโดดเข้าสู่โหมดแก้ไขแอนิเมชั่น คุณสามารถปรับขนาด ย้าย หมุน หรือเปลี่ยนพารามิเตอร์ของเลเยอร์ได้ดังนี้

โปรแกรมแก้ไขแอนิเมชั่นใน Framer
โปรแกรมแก้ไขแอนิเมชั่นใน Framer

Framer เพิ่มโค้ดอีกสองสามบรรทัด (ไม่ต้องกังวล คุณยังสามารถแก้ไขภาพเคลื่อนไหวด้วยแผงภาพเคลื่อนไหวได้)

 button.onTap (event, layer) -> button.animate borderRadius: 27 borderWidth: 10 borderColor: "rgba(115,250,121,1)" options: time: 0.30 curve: Bezier.ease

ยินดีด้วย! คุณเพิ่งสร้างปฏิสัมพันธ์ครั้งแรก ใช้งานได้เพียงครั้งเดียวในขณะนี้ แต่เราจะแก้ไขปัญหานั้น เหตุผลที่คุณสามารถทริกเกอร์แอนิเมชันนี้ได้เพียงครั้งเดียวคือไม่มีสิ่งใดถูกตั้งค่าให้เกิดขึ้นหลังจากแอนิเมชั่นเสร็จสิ้น เราต้องรีเซ็ตพารามิเตอร์ทั้งหมดหลังจากที่แอนิเมชั่นแรกจบลงอย่างที่เคยเป็นมา

ขั้นตอนที่ 3: การรีเซ็ตแอนิเมชั่น

เพิ่มกิจกรรมอื่นเกือบเหมือนที่เราทำก่อน ความแตกต่างคือเรากำลังมองหาเหตุการณ์เมื่อแอนิเมชั่นจบลง:

การเพิ่มเหตุการณ์ในตัวแก้ไขโค้ดในบทช่วยสอน framer

คราวนี้โค้ดที่เพิ่มโดย Framer จะมีลักษณะดังนี้:

 button.onAnimationEnd (event, layer) ->

ดังนั้น เมื่อแอนิเมชั่นบนเลเยอร์ ปุ่ม เสร็จสิ้น เราสามารถเพิ่มแอนิเมชั่นถัดไปที่จะรีเซ็ตพารามิเตอร์เลเยอร์ของ ปุ่ม :

 button.onAnimationEnd (event, layer) -> button.animate borderWidth: 100 borderColor: "rgba(255,255,255,1)" borderRadius: 100 options: time: 0.3 curve: Bezier.ease

แค่นั้นแหละ! ขณะนี้เรามีข้อเสนอแนะเกี่ยวกับการทำงานหลังจากแตะที่ปุ่มของเรา

แอนิเมชั่นข้อเสนอแนะของปุ่ม
ต้นแบบคำติชมของปุ่มใน Framer

2. การสร้างสถานะต่างๆ สำหรับการโต้ตอบกับเลเยอร์การ์ด

โอเค ตอนนี้คุณรู้วิธีออกแบบแอนิเมชั่นและทริกเกอร์มันแล้ว บ่อยครั้งที่คุณต้องออกแบบสถานะต่างๆ ของเลเยอร์ คุณสามารถออกแบบสถานะของเลเยอร์เดียวกันได้หลายสถานะโดยเปลี่ยนเฉพาะพารามิเตอร์บางตัว เช่น ตำแหน่ง ขนาด หรือความทึบ

ขั้นตอนที่ 1: การเพิ่มและสร้างสถานะสำหรับเลเยอร์การ์ด

วิธีเพิ่มสถานะลงใน การ์ด เกือบจะเหมือนกับการเพิ่มภาพเคลื่อนไหว คุณต้องคลิกที่จุดถัดจากเลเยอร์ การ์ด จากนั้นคลิก เพิ่มสถานะ ตอนนี้คุณได้เข้าสู่โหมดแก้ไขสถานะแล้ว ออกแบบได้ตามใจชอบ:

การเพิ่มสถานะในตัวแก้ไขโค้ด

โปรดใส่ใจกับการเยื้องของรหัส ควรเริ่มจากแถวแรก

ฉันได้ออกแบบสถานะที่แตกต่างกันสองสถานะสำหรับเลเยอร์ การ์ด ของฉัน:

 card.states.a = width: 248 height: 287 x: 63 y: 190 borderWidth: 10 borderColor: "rgba(115,250,121,1)" card.states.b = x: 139 y: 529 width: 98 height: 98 borderRadius: 49 borderWidth: 1 borderColor: "rgba(255,255,255,1)"

ขั้นตอนที่ 2: การเพิ่มเหตุการณ์

มีอีกเพียงขั้นตอนเดียวเท่านั้นที่จะทำให้มันสำเร็จ เราต้องสร้างเหตุการณ์เพื่อเปลี่ยนสถานะเหล่านี้

 button.onTap -> card.stateCycle()

สิ่งนี้จะเปลี่ยนสถานะทั้งหมดของเลเยอร์ทีละครั้ง ทุกครั้งที่คุณดำเนินการ ดังนั้น ในกรณีของเรา ทุกครั้งที่เราแตะเลเยอร์ ปุ่ม เราจะเปลี่ยนเป็นสถานะของ การ์ด หากคุณต้องการสร้างสถานะเพิ่มเติมและทริกเกอร์ให้ถูกต้อง ข้อมูลโค้ดด้านล่างจะทำงานได้ดีกว่าสำหรับคุณมาก:

 button.onTap -> card.stateSwitch("b")

ข้อมูลโค้ดนี้มีประโยชน์เมื่อคุณต้องการทริกเกอร์สถานะเฉพาะของเลเยอร์

การปรับครั้งสุดท้ายที่ฉันทำกับต้นแบบของฉันคือการเปลี่ยนแปลงความเร็วของแอนิเมชันและส่วนโค้งระหว่างสถานะต่างๆ:

 card.animationOptions = curve: Spring time: 0.8 
ต้นแบบขั้นสุดท้ายพร้อมแอนิเมชั่น
ระบุการโต้ตอบกับต้นแบบ iPhone

มีอีกมากที่คุณสามารถทำได้กับ กิจกรรม แต่ ณ จุดนี้ คุณจะสามารถสร้างการโต้ตอบพื้นฐานได้เกือบทุกชนิด เป็นหนึ่งในเอกสารที่เป็นลายลักษณ์อักษรที่ดีที่สุดที่ฉันเคยเห็น

เร่งงานของคุณใน Framer: Components

ถึงเวลาเพิ่มส่วนประกอบเพื่อเร่งงานของคุณแล้ว เพื่อให้ได้ประโยชน์สูงสุดจากบทช่วยสอนนี้จากจุดนี้ ดาวน์โหลดต้นแบบนี้

1. องค์ประกอบแรก: การเลื่อน

การโต้ตอบแบบเลื่อนภายใน iPhone 7 mockup

ฉันได้แก้ไขต้นแบบของเราเล็กน้อย ตอนนี้เรามีรายการอยู่ภายในแล้ว แต่ความสูงอยู่เหนือความละเอียดหน้าจอ เราต้องสร้างการเลื่อนเพื่อดูรายการทั้งหมดในต้นแบบ

ขั้นตอนที่ 1: สร้างเลเยอร์และตั้งค่าส่วนประกอบ

การสร้างต้นแบบการเลื่อนในโหมดออกแบบ

เริ่มต้นด้วยการสร้างเลเยอร์ที่มีความสูงมากกว่าหน้าจอของเรา ทำเครื่องหมายเลเยอร์นี้เป็นแบบโต้ตอบและตั้งชื่อเป็น รายการ จากนั้นข้ามไปที่โหมดโค้ด คราวนี้เราจะไม่ใช้แถบด้านข้างซ้ายที่มีประโยชน์ มาตั้งค่าหน้าจอทั้งหมดของเราให้สามารถเลื่อนได้:

 scroll = new ScrollComponent width: Screen.width height: Screen.height

รหัสนี้สร้างพื้นที่ที่มองไม่เห็นด้วยความกว้างและความสูงของอุปกรณ์ปัจจุบัน

ขั้นตอนที่ 2: บอก Framer ว่าคุณต้องการเลื่อนเลเยอร์ใด

ยังไม่มีอะไรเกิดขึ้น เราต้องบอก Framer ว่าชั้นใดควรเลื่อนได้ ในการดำเนินการนี้ เราเพิ่มเลเยอร์ รายการ ของเราลงในองค์ประกอบการเลื่อน:

 list.parent = scroll.content

ขั้นตอนที่ 3: ล็อคการเลื่อนแนวตั้ง

เราได้รับอนุญาตให้เลื่อนตอนนี้ แต่มันเกิดขึ้นในทุกทิศทาง เราต้องล็อคการเลื่อนบนแกนตั้ง:

 scroll.scrollHorizontal = false 
กวดวิชา framer ต้นแบบสุดท้ายพร้อมคุณสมบัติการเลื่อน
องค์ประกอบการเลื่อน

ว้าว! คุณสร้างการเลื่อนภายในแอปด้วยโค้ดง่ายๆ เพียงห้าบรรทัด

2. ส่วนประกอบของหน้า: การปัดหน้าจอไปที่หน้าจอ

กวดวิชา framer ต้นแบบการปัดหน้าจอภายในเครื่องจำลอง iPhone7
ในองค์ประกอบหน้า Framer ให้คุณปัดระหว่างหน้าจอและจัดตำแหน่งให้อยู่ในตำแหน่งโดยอัตโนมัติ

การโต้ตอบยอดนิยมสำหรับการสลับระหว่างหน้าจอคือการปัด แนวคิดนี้คล้ายกับองค์ประกอบการเลื่อนมาก คุณสามารถดาวน์โหลดต้นแบบการทำงานได้ที่นี่

ขั้นตอนที่ 1: การตั้งค่าส่วนประกอบ

ขั้นแรก เราต้องสร้าง "กล่อง" ในตัวแก้ไขโค้ดที่เวทมนตร์จะเกิดขึ้น:

 page = new PageComponent width: 315 height: Screen.height x: Align.center scrollVertical: false clip: false # the content outside the box won't be clipped

ณ จุดนี้ คุณควรทำความคุ้นเคยกับโค้ดทั้งหมดที่นี่ เป็นเพียงการตั้งค่าส่วนประกอบและพื้นที่อย่างง่าย ตอนนี้เราต้องสร้างเลเยอร์บางส่วนเพื่อปัด

ขั้นตอนที่ 2: การสร้างเลเยอร์

เราจะใช้การออกแบบต้นแบบครั้งแรกของเราและปรับเปลี่ยนเล็กน้อย แทนที่จะเป็นภาพการ์ดเดียว คราวนี้ฉันนำเข้าสองภาพ

ขั้นแรก เราต้องทำให้อาร์ตบอร์ดกว้างขึ้นสองเท่า ในแผงคุณสมบัติ artboard ให้ค้นหา width แล้วคูณด้วยสอง (หรือเพียงแค่เพิ่ม *2 ) วางการ์ดไว้ข้างๆ กัน เปิดใช้งานด้วยจุดสีน้ำเงิน และตั้งชื่อให้ถูกต้อง: card1 และ card2

กำลังเตรียมต้นแบบ framer ในโหมดออกแบบ

ขั้นตอนที่ 3: การเพิ่มเลเยอร์ให้กับองค์ประกอบของหน้า

ที่ส่วนท้ายของโค้ดในตัวแก้ไขโค้ด เราต้องเพิ่ม:

 card1.parent = page.content card2.parent = page.content

นั่นหมายความว่าเรากำลังเพิ่มเลเยอร์เหล่านี้ลงในองค์ประกอบ

ต้นแบบขั้นสุดท้ายพร้อมส่วนประกอบของหน้า
องค์ประกอบของหน้า—ช่วยให้คุณปัดผ่านหน้าจอทั้งในแนวนอนและแนวตั้ง

องค์ประกอบของหน้าพร้อมใช้งานแล้ว!

คำสุดท้าย

นั่นคือทั้งหมดที่ Folks! ฉันหวังว่าคุณจะพบว่าบทช่วยสอน Framer นี้มีประโยชน์ในการเริ่มต้นการเดินทางของคุณด้วยเครื่องมือสร้างต้นแบบที่ทรงพลังที่สุดในตลาด นอกจากนี้ คุณควรพิจารณาเข้าร่วมกลุ่ม Framer บน Facebook มีชุมชนขนาดใหญ่อยู่รอบๆ และมีประโยชน์เมื่อคุณเริ่มต้น

หากคุณต้องการเจาะลึกเข้าไปใน Framer ให้ลองอ่านเอกสาร Framer

• • •

อ่านเพิ่มเติมเกี่ยวกับบล็อก Toptal Design:

  • eCommerce UX – ภาพรวมของแนวทางปฏิบัติที่ดีที่สุด (พร้อมอินโฟกราฟิก)
  • ความสำคัญของการออกแบบที่เน้นมนุษย์เป็นศูนย์กลางในการออกแบบผลิตภัณฑ์
  • ผลงานออกแบบ UX ที่ดีที่สุด – กรณีศึกษาและตัวอย่างที่สร้างแรงบันดาลใจ
  • หลักการฮิวริสติกสำหรับอินเทอร์เฟซมือถือ
  • การออกแบบที่คาดหวัง: วิธีสร้างประสบการณ์ผู้ใช้ที่มีมนต์ขลัง