การจัดการแอพหลายภาษาใน React Native
เผยแพร่แล้ว: 2021-06-23เนื่องจากฐานผู้ใช้แอปขยายไปสู่ประเทศใหม่ๆ จึงจำเป็นที่ผู้บริโภคจะสามารถใช้แอปในภาษาท้องถิ่นของตนได้เสมอ สิ่งนี้เกิดขึ้นจากข้อเท็จจริงที่ว่าภาษาเป็นองค์ประกอบสำคัญของทุกธุรกิจและทุกองค์กรเสมอมา เมื่อบริษัทขยายตัว มักจะพยายามเข้าสู่เมือง รัฐ และประเทศอื่นๆ สิ่งสำคัญคือต้องปรับให้เข้ากับความต้องการและความต้องการของคนในท้องถิ่น และนี่คือจุดที่ React Native เข้ามามีบทบาท
สถานการณ์ไม่แตกต่างกันเมื่อพูดถึงแอพมือถือ
ในบทความนี้ เราจะมาเรียนรู้เกี่ยวกับ React Native และการแปลแอปก่อน จากนั้นเราจะมาดูกันว่าการแปลเป็นภาษาท้องถิ่นของ React มีหน้าที่จัดการ แอปหลายภาษา อย่างไร และข้อดีและข้อเสียหลักๆ ของแอปนี้คืออะไร พร้อมตัวอย่างแอปหลายภาษาที่มีชื่อเสียงต่างๆ ที่สร้างโดยใช้ React พื้นเมือง.
React Native คืออะไร?

React Native (หรือเรียกอีกอย่างว่า RN) เป็นเฟรมเวิร์กแอปบนอุปกรณ์เคลื่อนที่ที่ใช้ JavaScript ยอดนิยม ซึ่งช่วยให้คุณสามารถสร้างแอปบนอุปกรณ์เคลื่อนที่ iOS และ Android ที่แสดงผลแบบเนทีฟ กรอบงานช่วยให้คุณสามารถพัฒนาแอปพลิเคชันสำหรับหลายแพลตฟอร์มโดยใช้ฐานรหัสเดียวกัน
อ่านเพิ่มเติม: การแสดงผลฝั่งเซิร์ฟเวอร์ด้วย React
ในปี 2015 Facebook ได้เผยแพร่ React Native เป็นโครงการโอเพ่นซอร์ส ในเวลาเพียงไม่กี่ปี มันก็ขึ้นสู่อันดับต้น ๆ ของรายการโซลูชั่นการพัฒนาอุปกรณ์พกพาและการ พัฒนาแบบไฮบริด
ด้วยนักพัฒนาซอฟต์แวร์มากกว่า 42% ที่ใช้ React Native มันจึงกลายเป็นหนึ่งในเฟรมเวิร์กมือถือข้ามแพลตฟอร์มที่ได้รับความนิยมมากที่สุดในปี 2020 แอพมือถือที่ได้รับความนิยมมากที่สุดในโลก เช่น Instagram, Facebook และ Skype สร้างขึ้นด้วย React Native บริษัทที่ใช้ React Native สามารถเขียนโค้ดเพียงครั้งเดียวและใช้เพื่อขับเคลื่อนทั้งแอป iOS และ Android สิ่งนี้นำไปสู่การประหยัดเวลาและทรัพยากรอย่างมาก
อ่านเพิ่มเติม: React Native vs Kotlin: ทุกสิ่งที่คุณจำเป็นต้องรู้
ตอบสนองการทำงานของเนทีฟอย่างไร?
React Native สร้างขึ้นจากการผสมผสานระหว่าง JavaScript และ JXL ซึ่งเป็นภาษามาร์กอัปที่ไม่เหมือนใครซึ่งคล้ายกับ XML เฟรมเวิร์กสามารถเชื่อมต่อกับเธรดในทั้งสองโลก — เธรดที่ใช้ JavaScript และเธรดแอพดั้งเดิมที่มีอยู่
สำหรับการสื่อสาร React Native ใช้ "สะพาน" ที่เรียกว่า ในขณะที่เธรด JavaScript และ Native ถูกสร้างขึ้นในภาษาที่แยกจากกันทั้งหมด React Native ใช้บริดจ์เพื่อทำให้การสื่อสารแบบสองทิศทางเป็นไปได้และใช้งานได้ แทนที่จะสร้างภาษาใหม่ทั้งหมด เช่น Native และ Java
Need for React Native

React Native Localizations สำหรับการพัฒนา แอพหลายภาษา นั้นค่อนข้างบ่อย เนื่องจากการศึกษาเปิดเผยว่าจากผู้คนประมาณ 7.5 พันล้านคนทั่วโลก 1.5 พันล้านคนพูดภาษาอังกฤษได้ นั่นคือ 20% ของประชากรโลก นอกจากนี้ บุคคลดังกล่าวส่วนใหญ่ไม่ได้พูดภาษาอังกฤษโดยธรรมชาติ ภาษาอังกฤษเป็นภาษาแรกของประชากรประมาณ 360 ล้านคนเท่านั้น
เป็นผลให้มีเพียง 360 ล้านคนจาก 7.5 พันล้านคนพูดภาษาอังกฤษได้คล่อง คนอื่นๆ พูดภาษาอังกฤษเป็นภาษาที่สองหรือสาม ตลาดโดยรวมสำหรับภาษาอื่น ๆ นั้นมากกว่าตลาดสำหรับภาษาอังกฤษเพียงอย่างเดียวอย่างมาก
เมื่อกลุ่มเป้าหมายส่วนใหญ่พูดภาษาอังกฤษ การทดสอบตลาดโดยใช้ภาษาอังกฤษเป็นเรื่องปกติ อย่างไรก็ตาม หากกลุ่มเป้าหมายพูดภาษาอื่น นักพัฒนาต้องแปลแอป เมื่อแอปได้รับความนิยมเพิ่มขึ้น การแปลจึงมีความจำเป็นมากขึ้นเรื่อยๆ เพื่อให้บริการผู้ชมในท้องถิ่น
เป็นสิ่งสำคัญสำหรับผู้ใช้ที่จะสามารถใช้แอพต่างๆ ได้โดยไม่ต้องเรียนภาษาอื่น นักพัฒนาซอฟต์แวร์ต้องกระตุ้นให้เกิด การพัฒนาแบบผสมผสาน และการปรับเปลี่ยนอื่น ๆ ในขณะที่เขียนสคริปต์และสร้างรหัสเพื่อละทิ้งแนวคิดที่ว่าต้องการให้ผู้คนเรียนภาษาอังกฤษล่วงหน้าเพื่อใช้งานคอมพิวเตอร์และเข้าถึงโปรแกรมทั้งหมดได้ เนื่องจากอุปสรรคในการสร้างแอปหรือการสร้างธุรกิจมีน้อยลงเรื่อยๆ วิธีที่รวดเร็วที่สุดในการกระจายความเสี่ยงคือการใช้การโลคัลไลเซชันแอปผ่านวิธีการต่างๆ เช่น React Native Localization (RNL) เพื่อให้บริการแปลในภาษาของกลุ่มเป้าหมายของคุณ
การแปลแอปคืออะไร?
การ พัฒนาและดัดแปลงแบบผสมผสาน เพื่อดึงดูดตลาดเป้าหมายเฉพาะทางภูมิศาสตร์เรียกว่าการโลคัลไลซ์แอป นักพัฒนาควรตรวจสอบให้แน่ใจเสมอว่าแอพ มือถือ ของพวกเขานั้นน่าดึงดูดและใช้งานง่ายนอกสำนักงานใหญ่และประเทศเช่นเดียวกับที่อยู่ภายใน
การโลคัลไลซ์เซชั่นแอพทำให้แอพสามารถปรับให้เข้ากับความต้องการของผู้ใช้ที่พูดภาษาต่างๆ โดยมีทุกอย่างตั้งแต่หน่วยวัดไปจนถึงสกุลเงินและวลีสำนวนที่เหมาะกับพวกเขา นอกจากนี้ ตามสถิติ 92% ของแอปพลิเคชั่น iPhone ที่ทำรายได้สูงสุด 25 อันดับแรกในประเทศจีน ถูกใช้เป็นภาษาจีน เช่นเดียวกับประเทศอื่น ๆ และภาษาแม่ของพวกเขา
ดังนั้น ด้วยการทำให้มั่นใจว่าแอปบนอุปกรณ์เคลื่อนที่จะดึงดูดผู้ใช้ในสถานที่ต่างๆ ทั่วโลก นักพัฒนาจึงสร้างความเป็นไปได้อย่างมากสำหรับการเติบโตที่พวกเขาไม่เคยสามารถทำได้ในประเทศเดียว
นอกจากนี้ การโลคัลไลซ์เซชันแอพที่ประสบความสำเร็จจำเป็นต้องมีการแก้ไขส่วนประกอบหลายอย่างของซอฟต์แวร์ ซึ่งรวมถึง:
- แปลภาษาอย่างถูกต้องและสร้าง แอพหลายภาษา
- การเปลี่ยนสกุลเงินเริ่มต้น หากมี
- ตรวจสอบเพื่อให้แน่ใจว่าเวลาและวันที่ถูกต้องสำหรับสถานที่นั้น
- พิจารณาข้อแตกต่างด้านกฎหมาย
- การเลือกแป้นพิมพ์ภาษาที่เหมาะสม
React Native Localization คืออะไร?
React Native localization (RNL) เป็นกระบวนการที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถปรับแอพพลิเคชั่นที่เป็นสากลสำหรับพื้นที่หรือภาษาที่กำหนดโดยการแปลข้อความและรวมถึงส่วนประกอบเฉพาะของโลแคล จะเป็นประโยชน์เมื่อนักพัฒนาต้องการแปลแอปโดยการแปลแอปเป็นภาษาใดภาษาหนึ่งอย่างถูกต้องตามความต้องการของสถานที่เฉพาะที่มีการใช้งาน
ประโยชน์ของการสร้างแอพหลายภาษาด้วย React Native

ต่อไปนี้คือเหตุผลบางประการในการใช้ React Native เพื่อสร้าง แอปหลายภาษา :
- การนำโค้ดกลับมาใช้ใหม่ได้ – การพัฒนาข้ามแพลตฟอร์ม
ความสามารถในการนำโค้ดกลับมาใช้ใหม่เป็นข้อได้เปรียบที่สำคัญที่สุดของ React Native และแสดงให้เห็นว่าแอปสามารถทำงานบนแพลตฟอร์มต่างๆ ได้สำเร็จ ซึ่งเป็นสิ่งที่ CEO และเจ้าของผลิตภัณฑ์ให้ความสำคัญจริงๆ พวกเขาสามารถรวม 90% ของเฟรมเวิร์กดั้งเดิมเพื่อนำรหัสมาใช้ซ้ำสำหรับระบบปฏิบัติการ สิ่งนี้เป็นประโยชน์ต่อนักพัฒนาในขณะที่พวกเขากำลังสร้างแอพหลายภาษา เนื่องจากพวกเขาสามารถนำโค้ดส่วนใหญ่กลับมาใช้ใหม่เพื่อสร้างแอพในภาษาต่างๆ
- ชุมชนนักพัฒนาที่แข็งแกร่ง
React Native เป็นแพลตฟอร์ม JavaScript แบบโอเพ่นซอร์สที่ช่วยให้นักพัฒนาสามารถมีส่วนร่วมในการพัฒนากรอบงานซึ่งทุกคนสามารถเข้าถึงได้ ซึ่งช่วยให้นักพัฒนาสามารถค้นหาการสนับสนุนเมื่อพวกเขากำลังพยายามสร้างแอปพลิเคชันในภาษาที่ค่อนข้างคลุมเครือ เนื่องจากพวกเขามักจะได้รับการสนับสนุนจากชุมชนหากพบปัญหาใดๆ มีผลดีต่อการพัฒนาความสามารถในการเขียนโค้ด
- คุ้มค่า
ข้อดีอีกประการของการพัฒนา React Native คือต้นทุนที่ต่ำกว่า ตามที่ระบุไว้ก่อนหน้านี้ เนื่องจากความสามารถของนักพัฒนาในการใช้โค้ดเดียวกันเพื่อสร้างแอปหลายภาษาสำหรับทั้ง iOS และ Android

หมายความว่าผู้เขียนโค้ดและนักพัฒนาไม่จำเป็นต้องมีส่วนร่วมกับทีมพัฒนา iOS และ Android สองทีมที่แยกจากกันเพื่อทำโครงการให้เสร็จ ทีมเล็กก็พอ ต้นทุนในการสร้างแอพใน React Native นั้นต่ำกว่าต้นทุนในการพัฒนาแอพในภาษาที่ไม่รองรับการพัฒนาข้ามแพลตฟอร์มอย่างมาก
- เห็นผลการเปลี่ยนแปลงทันที
นักพัฒนาสามารถใช้การรีเฟรชอย่างรวดเร็วเพื่อเรียกใช้โปรแกรมในขณะที่อัปเกรดเป็นเวอร์ชันใหม่และปรับเปลี่ยน UI การเปลี่ยนแปลงจะมองเห็นได้ทันที และนักพัฒนาไม่ต้องสร้างซอฟต์แวร์ใหม่ทั้งหมด ดังนั้นเมื่อเปลี่ยนจากภาษาหนึ่งไปอีกภาษาหนึ่งสำหรับแอพหลายภาษา มันช่วยประหยัดเวลาและความพยายามอย่างมากสำหรับนักพัฒนา
สิ่งนี้มีข้อดีที่สำคัญสองประการ: ประหยัดเวลา (เนื่องจากโปรแกรมเมอร์ประหยัดเวลาในการรวบรวม) และประสิทธิภาพการทำงานที่มากขึ้น (เพราะพวกเขาไม่สูญเสียสถานะใด ๆ เมื่อรวมการเปลี่ยนแปลงเข้ากับแอพ)
- ส่วนต่อประสานกับผู้ใช้นั้นตรงไปตรงมา
การพัฒนา React Native ใช้ React JavaScript เพื่อสร้างอินเทอร์เฟซของแอพ ทำให้ตอบสนองได้ดีขึ้นและเร็วขึ้นด้วยเวลาโหลดที่น้อยลง ส่งผลให้ประสบการณ์ผู้ใช้โดยรวมดีขึ้นเมื่อพูดถึงแอพหลายภาษา เฟรมเวิร์กนี้เหมาะอย่างยิ่งสำหรับการสร้างแอปที่มีทั้งการออกแบบที่เรียบง่ายและซับซ้อน เนื่องจากมีอินเทอร์เฟซผู้ใช้แบบโต้ตอบและวิธีการที่อิงตามส่วนประกอบ
- ประสิทธิภาพเร็ว
บางคนโต้แย้งว่าโค้ด React Native อาจส่งผลเสียต่อประสิทธิภาพของ แอป บนอุปกรณ์เคลื่อนที่ เมื่อเทียบกับโค้ดที่สร้างผ่าน Swift และแอปพลิเคชันอื่นๆ แม้ว่า JavaScript จะช้ากว่าโค้ดเนทีฟ แต่ความแตกต่างนั้นมองไม่เห็นด้วยตาเปล่า เพื่อแสดงสิ่งนี้เพิ่มเติม นักพัฒนาจึงตัดสินใจทำการทดสอบโดยเปรียบเทียบแอปพลิเคชันพื้นฐานสองเวอร์ชันที่พัฒนาใน React Native และ Swift ซึ่งทั้งสองเวอร์ชันนั้นให้ผลลัพธ์ด้านประสิทธิภาพที่เหมือนกัน แม้ว่าจะเป็นการพัฒนาแอพหลายภาษา แต่ผลลัพธ์ก็ไม่ต่างกัน
- แอปพลิเคชั่นที่แข็งแกร่งแม้ในปีต่อ ๆ ไป
ด้วยการใช้เฟรมเวิร์กอย่างรวดเร็วและแนวทางที่ตรงไปตรงมาในการแก้ไขปัญหาการพัฒนาที่เกี่ยวข้องกับแอพหลายภาษา อนาคตของ React Native สำหรับแอพข้ามแพลตฟอร์มนั้นสดใส แม้ว่าจะมีข้อเสียอยู่บ้าง ซึ่งเราจะตรวจสอบในตอนต่อไป ความรวดเร็วและความง่ายในการพัฒนาก็ชดเชยให้กับมัน
อ่านเพิ่มเติม: 5 อันดับแรก React UI Design Frameworks 2021
ข้อเสียของการสร้างแอพหลายภาษาด้วย React Native
มีข้อเสียหลักสองประการในการสร้างแอปหลายภาษาด้วย React Native เหล่านี้มีดังนี้:
- ไม่มีโมดูลที่กำหนดเอง
แม้ว่า React Native จะมีมาระยะหนึ่งแล้ว แต่โมดูลที่กำหนดเองบางตัวจำเป็นต้องได้รับการปรับปรุงหรือขาดหายไปโดยสิ้นเชิง ซึ่งหมายความว่าแทนที่จะใช้เพียงหนึ่ง codebase คุณอาจต้องเรียกใช้ codebase สามชุด (สำหรับ React Native, iOS และ Android)
พูดแล้วไม่ใช่เรื่องซ้ำซากจำเจ เว้นแต่ว่าคุณกำลังสร้างแอปใหม่ตั้งแต่ต้นหรือพยายามแฮ็กแอปที่มีอยู่ คุณก็ไม่น่าจะประสบปัญหาเหล่านี้
- ปัญหาเกี่ยวกับความเข้ากันได้และการดีบัก
แม้ว่าสิ่งนี้อาจเป็นเรื่องที่น่าประหลาดใจ – อย่างไรก็ตาม ผู้เล่นเทคโนโลยีชั้นนำใช้ React Native – มันยังอยู่ในช่วงเบต้า นักพัฒนาอาจพบปัญหาต่างๆ เกี่ยวกับความเข้ากันได้ของแพ็คเกจหรือเครื่องมือแก้ไขจุดบกพร่อง หากนักพัฒนาไม่มีทักษะในการใช้ React Native สิ่งนี้อาจส่งผลเล็กน้อยต่อการพัฒนา เนื่องจากพวกเขาจะเสียเวลาในการแก้ไขปัญหา
อ่านเพิ่มเติม: ทำไม React JS ถึงดีกว่า Angular หรือ Vue JS
ตัวอย่างแอพหลายภาษาที่สร้างด้วย React Native

ตอนนี้เราได้พูดถึงข้อดีและข้อเสียแล้ว มาดู แอพหลายภาษา ที่มีชื่อเสียงซึ่งสร้างขึ้นโดยใช้ React Native
UberEats
UberEats เป็นหนึ่งในแอพมือถือที่สร้างด้วย React Native มันแตกต่างจากแอพ Uber ตรงที่ประกอบด้วยสามฝ่ายแทนที่จะเป็นเพียงสอง - ร้านอาหาร พันธมิตรจัดส่ง และไดเนอร์ส
สิ่งนี้จำเป็นต้องสร้างแดชบอร์ดที่ไม่ซ้ำใครซึ่งจะพิจารณาร้านอาหารด้วย แดชบอร์ดเริ่มต้นซึ่งออกแบบมาสำหรับเว็บเป็นหลัก จำกัดความสามารถในการส่งข้อมูลที่สำคัญไปยังร้านอาหาร นอกจากนี้ยังขาดการเข้าถึงคุณลักษณะของอุปกรณ์ดั้งเดิม เช่น การแจ้งเตือนด้วยเสียง ซึ่งส่งผลเสียต่อประสบการณ์ของผู้ใช้
ทีมงานมีความเชี่ยวชาญในการพัฒนา React มากแล้ว แต่ยังมีความคุ้นเคยกับ Android และ iOS ไม่เพียงพอ ดังนั้นการเลือก React Native จึงไม่ใช่เรื่องง่าย UberEats ใช้เทคโนโลยีสแต็คขนาดใหญ่ ซึ่ง React Native เป็นเพียงส่วนประกอบเล็กน้อยเท่านั้น อย่างไรก็ตาม ผู้พัฒนาพอใจกับสิ่งที่สามารถนำเสนอได้ และมั่นใจว่าจะสามารถตอบสนองความต้องการของพวกเขาได้ในขณะที่ตลาดขยายตัว
Walmart
ซูเปอร์มาร์เก็ตในอเมริกาเป็นที่รู้จักในด้านการเคลื่อนไหวทางเทคนิคที่กล้าหาญ ซึ่งหนึ่งในนั้นคือการสร้างแอปบนอุปกรณ์เคลื่อนที่ขึ้นใหม่ใน React Native
ก่อนหน้านี้ บางส่วนของแอป Walmart ได้รวมมุมมองเว็บแบบบูรณาการ ซึ่งตามข้อมูลของ Walmart Labs นั้น ต่ำกว่าระดับที่ทั้งพนักงานและผู้บริโภคต้องการ
หลังจากเปลี่ยนไปใช้ React Native ประสิทธิภาพของแอปพลิเคชันทั้ง iOS และ Android ก็เพิ่มขึ้นอย่างมาก ใกล้เคียงกับระดับเนทีฟ เก้าสิบห้าเปอร์เซ็นต์ของฐานรหัสใช้ร่วมกันระหว่าง Android และ iOS และทั้งสองแอปพลิเคชันได้รับการจัดการและพัฒนาโดยทีมเดียว
Facebook เป็นหนึ่งในแอพ React Native ที่โด่งดังที่สุดนับตั้งแต่มันให้กำเนิดและเป็นแรงผลักดันที่อยู่เบื้องหลังการพัฒนาภาษาการเขียนโปรแกรมนี้
Facebook ตั้งใจที่จะนำข้อดีทั้งหมดของการพัฒนาออนไลน์มาสู่มือถือ เช่น การทำซ้ำอย่างรวดเร็วและมีทีมพัฒนาผลิตภัณฑ์เพียงทีมเดียว และนี่คือที่มาของ React Native เดิมบริษัทใช้แอปนี้เพื่อสร้างแอปตัวจัดการโฆษณาสำหรับ iOS และ Android
อินสตาแกรม
Instagram เลือกที่จะรวม React Native เข้ากับแอพดั้งเดิมในปัจจุบัน โดยเริ่มจากมุมมองการแจ้งเตือนแบบพุช ซึ่งเริ่มด้วย WebView โชคดีที่ไม่จำเป็นต้องพัฒนาโครงสร้างพื้นฐานการนำทางเพราะ UI นั้นเรียบง่ายพอที่จะทำงานได้โดยไม่ต้องมีเลย การใช้ React Native ทีมผลิตภัณฑ์สามารถเพิ่มความเร็วของนักพัฒนาได้ 85-99%
Skype
อีกตัวอย่างหนึ่งของแอปมือถือ React Native คือ Skype ในปี 2560 Skype ระบุว่ากำลังพัฒนาแอพใหม่ทั้งหมดโดยใช้ React Native สิ่งนี้จุดประกายความกระตือรือร้นให้กับผู้ใช้อย่างมาก เนื่องจากรุ่นก่อนหน้ามีข้อบกพร่องเล็กน้อย
ตั้งแต่ไอคอนไปจนถึงรูปแบบข้อความใหม่ ซึ่งตอนนี้มีส่วนสนทนาสามส่วน ได้แก่ การค้นหา แชท และจับภาพ แอปใหม่นี้ได้รับการปรับปรุงใหม่ทั้งหมด Microsoft ซึ่งเป็นเจ้าของ Skype ได้เลือกใช้ React Native ไม่ใช่แค่ในแอปบนอุปกรณ์เคลื่อนที่เท่านั้น แต่ยังรวมถึงเวอร์ชันเดสก์ท็อปของแพลตฟอร์มด้วย
บรรทัดล่าง
React Native เป็นตัวเลือกที่ยอดเยี่ยมหากโปรเจ็กต์ไม่ต้องการอินเทอร์เฟซที่ซับซ้อน เข้าถึงฟังก์ชันดั้งเดิม หรือเมื่อนักพัฒนาต้องการสร้าง แอปหลายภาษา สำหรับแพลตฟอร์มเดียว นอกจากนี้ React Native ยังเป็นทางเลือกที่ได้รับความนิยมและเหมาะสมหากมีการจำกัดงบประมาณ โดยรวมแล้วเป็นแอปพลิเคชั่นที่ใช้งานง่ายและเป็นมิตรกับงบประมาณสำหรับทุกคน!
ด้วยความช่วยเหลือจากผู้เชี่ยวชาญของเราใน React Native ซึ่งมีประสบการณ์ในการพัฒนาแอพหลายภาษา เราที่ Creole Studios มุ่งมั่นที่จะให้บริการและสิ่งอำนวยความสะดวกที่ดีที่สุดแก่ลูกค้าของเรา ตั้งแต่การพัฒนาแอพไปจนถึงการพัฒนาระบบสำหรับเว็บ เราทำทุกอย่าง ดังนั้น หากคุณสนใจใช้บริการของเราและสร้างแอปหลายภาษาโดยใช้ React Native ติดต่อเราวันนี้!