คลังเก็บป้ายกำกับ: Development

ไมโครซอฟท์ออกส่วนขยาย Microsoft Edge Tools, เรียกใช้ Edge DevTools ดีบัก DOM/ตรวจสอบเน็ตเวิร์คได้จาก VS Code

เมื่อต้นเดือนตุลาคมไมโครซอฟท์ได้ประกาศออกส่วนขยาย Microsoft Edge Tools สำหรับ Visual Studio Code เครื่องมือซึ่งจะช่วยอำนวยความสะดวกให้กับการตรวจสอบและดีบักเว็บ ด้วยการดึง DevTools พร้อมหน้าเว็บจากเบราว์เซอร์ Microsoft Edge (Chromium) มาแสดงผลให้นักพัฒนาเรียกใช้งานได้จากภายใน VS Code ได้โดยตรง

ส่วนขยาย Microsoft Edge Tools เป็นรุ่นใช้งานจริง (general availability) ของ Elements for Microsoft Edge ซึ่งเปิดให้ทดสอบมาตั้งแต่ปีที่แล้ว และยังได้ผนวกเอาความสามารถของ Network for Microsoft Edge มาไว้ภายใต้ส่วนขยายเดียวกัน

ภาพโปรโมทจากทวิตเตอร์เมื่อครั้งเปิดตัวในชื่อ Elements for Microsoft Edge

No Description

ทำให้ความสามารถของส่วนขยายในตอนนี้ไม่ใช่เป็นแค่เพียงดึงแท็บ Elements จาก Edge DevTools มาเพือดีบัก DOM เท่านั้น แต่ยังสามารถตรวจสอบ request/response ที่เบราว์เซอร์ รับ/ส่ง ได้จากแท็บ Network อีกด้วย

ภาพตัวอย่างการใช้งานแท็บ Network

alt="ภาพ Gif ตัวอย่างการใช้งานแท็บ Network"

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

ภาพตัวอย่างการใช้งานแท็บ Elements เมื่อเปิดเบราว์เซอร์ในโหมดปกติ

alt="ภาพ Gif ตัวอย่างการใช้งานแท็บ Elements เมื่อเปิดเบราว์เซอร์ในโหมดปกติ"

ภาพตัวอย่างการใช้งานแท็บ Elements เมื่อเปิดเบราว์เซอร์ในโหมด headless

alt="ภาพ Gif ตัวอย่างการใช้งานแท็บ Elements เมื่อเปิดเบราว์เซอร์ในโหมด headless"

สำหรับเหตุผลในการพัฒนาส่วนขยาย Microsoft Edge Tools ไมโครซอฟท์กล่าวว่าแม้ VS Code จะมาพร้อมกับฟีเจอร์หลายๆ อย่างที่ทำให้การเขียนโปรแกรมสะดวกขึ้น แต่เมื่อนักพัฒนา (รวมถึงทางไมโครซอฟท์เอง) ต้องการปรับแต่งหน้าเว็บอย่างละเอียด DevTools บนเบราว์เซอร์นั้นยังคงเป็นเครื่องมือที่ใช้งานได้ดีกว่ามาก (เนื่องจากนักพัฒนาสามารถทดลองแก้ไขโค้ด HTML/CSS แล้วดูผลที่เปลี่ยนแปลงได้ทันที – ผู้เขียน)

การดึง DevTools บนเบราว์เซอร์ให้สามารถใช้งานบน VS Code จึงจะช่วยให้การพัฒนาเว็บตั้งแต่เขียนโค้ดต้นทางไปจนถึงการตรวจสอบและดีบักผลที่เกิดขึ้นบนเบราว์เซอร์ปลายทางสามารถทำได้ครบ จบจากในตัว VS Code ไม่ต้องคอยสลับหน้าต่างไปมาอย่างแต่ก่อน

ท่านใดสนใจเข้าไปศึกษาวิธีการใช้งานได้ที่หน้าดาวน์โหลดของส่วนขยายครับ

ที่มา – Microsoft Edge Blog via MSPoweruser

from:https://www.blognone.com/node/119081

Android Studio 4.1 เปลี่ยนไอคอนใหม่, รันอีมูเลเตอร์ในหน้าต่างเดียวกันได้แล้ว

กูเกิลออก Android Studio 4.1 มาพร้อมไอคอนใหม่เป็นโทนสีน้ำเงินแทนสีเขียวของเดิม ฟีเจอร์ใหม่ในรุ่นนี้ได้แก่

  • ระบบเทมเพลตเปลี่ยนมาใช้ Material Design Components ชุดคอมโพเนนต์สำหรับสร้าง UI ช่วยให้หน้าตาแอพปรับเข้าสไตล์กับธีมได้ง่ายขึ้น รองรับ Dark Mode
  • Database Inspector ช่วยให้นักพัฒนาตรวจสอบและแก้ไขค่าในฐานข้อมูลของแอพได้สะดวกกว่าเดิม
  • สามารถรัน Android Emulator ในหน้าต่างเดียวกับ Android Studio ได้แล้ว ไม่ต้องแยกหน้าต่างเหมือนที่ผ่านๆ มา
  • Android Emulator รองรับอุปกรณ์แบบพับจอได้ (foldable) จำลองการทำงานของบานพับจอได้
  • รองรับการนำเข้าโมเดลจาก TensorFlow Lite มารันในแอพ Android
  • Apply Changes ฟีเจอร์รันโค้ดที่แก้ไขโดยไม่ต้องรีบูต ทำงานได้เร็วขึ้นเมื่อรันอีมูเลเตอร์ Android 11
  • เพิ่ม Native Memory Profiler สำหรับแอพที่เขียนแบบเนทีฟ

No Description

ที่มา – Android Developers Blog

from:https://www.blognone.com/node/118990

กูเกิลเผย มีแอพสร้างด้วย Flutter แล้วเกิน 1 แสนตัว เติบโต 4-5 เท่าในรอบปี

Tim Sneath หนึ่งในหัวหน้าทีม Flutter ให้สัมภาษณ์กับ The Register ในโอกาสที่ Flutter 1.22 ออกตัวจริง มีประเด็นน่าสนใจดังนี้

  • ตอนนี้มีแอพที่สร้างด้วย Flutter ในระบบ Google Play แล้ว 1 แสนตัว และมีเพิ่มเดือนละประมาณ 1 หมื่นตัว อัตราการเติบโตในรอบปีที่ผ่านมาคือ 4-5 เท่า
  • จุดเด่นของ Flutter คือการใช้โค้ดเดียวรันแอพข้ามแพลตฟอร์ม ทำให้ภาคธุรกิจชอบ เพราะไม่ต้องแยกทีม iOS/Android ซึ่งอาจมีความสามารถไม่เท่ากัน ออกแอพได้ไม่ทัดเทียมกัน ซึ่งส่งผลเสียต่อแบรนด์
  • Sneath ยอมรับว่า กูเกิลมีชื่อเสียงไม่ดีเรื่องฆ่าผลิตภัณฑ์ที่ไม่ฮิต ทำให้นักพัฒนาจำนวนหนึ่งยังไม่กล้าใช้ Flutter แต่เขาก็อธิบายว่าเป็นเพราะวัฒนธรรมของกูเกิลที่ “เสี่ยงกับความสำเร็จ” (bet on success) ถ้าโครงการนั้นเติบโต ก็ได้ไปต่อ
  • เขาบอกว่าทีม Flutter ยังไม่มีแผนรองรับภาษาอื่นนอกจาก Dart เพราะ Dart ถือเป็นเคล็ดลับความสำเร็จของ Flutter เนื่องจากเป็นภาษาที่ออกแบบมาดี ใช้ได้ทั้งการคอมไพล์เป็นเนทีฟ และแปลงเป็น JavaScript เพื่อใช้บนเว็บ
  • เขายอมรับว่าวงการที่ Flutter ยังไปไม่ถึงคือการนำมาใช้เขียนเกม แต่ก็ยกตัวอย่างว่ามีแอพสายออกแบบเกมที่เขียนด้วย Flutter แล้ว เช่น Rive ที่ยังทดสอบในวงปิด

ที่มา – The Register

No Description

ภาพจาก @FlutterDev

from:https://www.blognone.com/node/118802

Flutter 1.22 ออกแล้ว รองรับ iOS 14 และ Android 11

Flutter ออกเวอร์ชัน 1.22 ตามรอบการออกรุ่นเสถียรทุกไตรมาส ที่รอบนี้ดันมาตรงกับ OS รุ่นใหม่ทั้ง iOS 14 และ Android 11 พอดี ทำให้ Flutter 1.22 รองรับทั้งคู่มาพร้อมสรรพ

  • iOS 14 วาดไอคอนใหม่ให้เข้าชุดกับฟอนต์ SF Symbols ตัวใหม่ของแอปเปิล, รองรับ App Clips หรือการแสดงแอพโดยไม่ต้องติดตั้ง
  • Android 11 รองรับการแสดง notch ของ Android หลากหลายแบบ เช่น บากบน-ล่าง, กล้องเจาะรู หรือขอบด้านข้าง waterfall edges, จัดการแอนิเมชันตอนขยับคีย์บอร์ดให้ลื่นขึ้น
  • ยกเครื่องระบบจัดการ “ปุ่ม” (button) ใหม่หมด มีระบบธีมที่ปรับแต่งปุ่มได้หลากหลายมากขึ้น
  • ปรับปรุงด้านการจัดการภาษา internationalization (i18n) และ localization (l10n)
  • ปลั๊กอิน Google Maps และ WebView เสถียรพร้อมใช้งานจริงแล้ว

No Description

No Description

No Description

ที่มา – Flutter

from:https://www.blognone.com/node/118777

อินเทลออกสเปก oneAPI เวอร์ชัน 1.0 คู่แข่งของ CUDA ที่ใช้ประมวลผลข้ามซีพียู-จีพียู

ในแผนการใหญ่ของอินเทลเรื่องจีพียู Xe นอกจากเรื่องประสิทธิภาพต้องต่อกรกับคู่แข่งให้ได้แล้ว ยุทธศาสตร์สำคัญอีกข้อคือการสร้าง ecosystem ขนาดใหญ่พอที่นักพัฒนาให้ความสนใจ ทำซอฟต์แวร์ให้รองรับ

ฝั่งของฮาร์ดแวร์ อินเทลเลือกใช้แนวทางสถาปัตยกรรมเดียว ครอบคลุมตั้งแต่จีพียูออนบอร์ด (ที่เริ่มใช้ใน Tiger Lake) ไปจนถึงซูเปอร์คอมพิวเตอร์ เพื่อให้นักพัฒนาเขียนโค้ดครั้งเดียวพอ ในฝั่งซอฟต์แวร์ อินเทลเริ่มพัฒนา oneAPI สำหรับการประมวลผลบนหน่วยประมวลผลหลายประเภท (ซีพียู/จีพียู/FPGA) ซึ่งเทียบได้กับ CUDA ของ NVIDIA และ ROCm ของ AMD มาตั้งแต่ปี 2018

หลังจากค่อยๆ พัฒนา oneAPI มาสองปี เมื่อวานนี้ อินเทลประกาศออกสเปก oneAPI 1.0 ถือเป็นหลักหมายสำคัญของอินเทลในการบุกตลาดนี้ พื้นฐานของมันใช้ภาษา Data Parallel C++ (DPC++) ซึ่งแตกแขนงมากจาก ISO C++ และครอบคลุมการใช้งานหลากหลายชนิด เช่น Math, Deep Learning, Machine Learning, Video Analytics รวมถึง API ควบคุมฮาร์ดแวร์ระดับล่าง ที่เรียกว่า Level Zero API

No Description

No Description

No Description

ตัว oneAPI เป็นมาตรฐานเปิด ซอฟต์แวร์เป็นโอเพนซอร์ส และถูกออกแบบมาให้ใช้กับสถาปัตยกรรมได้หลากหลาย (ไม่ใช่แค่ x86 แต่รวมถึงซีพียู ARM หรือ POWER และจีพียู NVIDIA ได้ด้วย) แต่ในทางปฏิบัติก็ไม่ง่ายนัก ที่บริษัทอื่นจะสนใจเข้าร่วม หรือซอฟต์แวร์ชื่อดังจะหันมารองรับ (ซึ่งเป็นปัญหาที่ AMD เจอมานานแล้ว)

ตอนนี้รายชื่อหน่วยงานที่สนับสนุน oneAPI ยังเน้นไปที่กลุ่มมหาวิทยาลัยเป็นหลัก มีบริษัทไอทีเพียงรายเดียวคือ HPE และมี TensorFlow ที่ประกาศรองรับ

ที่มา – Intel, Phoronix

from:https://www.blognone.com/node/118698

React Native รองรับการสร้างแอพ macOS แล้ว ไมโครซอฟท์เป็นคนทำให้

เก็บตกข่าวความเคลื่อนไหวฝั่ง React Native นะครับ ตัวโครงการ React Native ที่พัฒนาโดย Facebook รองรับเพียงแค่ 2 แพลตฟอร์มมือถือคือ Android และ iOS

แต่เมื่อปีที่แล้ว ไมโครซอฟท์อาสาเข้ามาทำ React Native for Windows โดยรองรับทั้งการสร้างแอพแบบ WPF และ UWP

และในงาน Build 2020 เมื่อเดือนพฤษภาคม ไมโครซอฟท์ก็ช็อควงการด้วยการประกาศทำ React Native for macOS เพิ่มให้ด้วย (อ่านไม่ผิดครับ เฟรมเวิร์คสำหรับเขียนแอพแมคที่พัฒนาโดยไมโครซอฟท์!) หลังจากทดสอบแบบพรีวิวมาหลายเดือน ไมโครซอฟท์ก็เปิดตัว React Native for macOS เวอร์ชัน 0.62 รุ่นเสถียร (ส่วนเวอร์ชันวินโดวส์ ตัวเลขเป็น 0.63 คือใหม่กว่าหนึ่งรุ่นย่อย และเท่ากับ React Native ของ iOS/Android)

No Description

ของใหม่ใน React Native for Windows 0.63 คือ LogBox ระบบจัดการล็อกแบบใหม่ของ React Native ที่เริ่มใช้เป็นดีฟอลต์, การรองรับธีมสีของ OS และการรองรับเอนจินจาวาสคริปต์ตัวใหม่ Hermes

ส่วน React Native for macOS ที่เวอร์ชันยังตามหลังเป็น 0.62 มีฟีเจอร์ใหม่คือ fast refresh แก้โค้ดแล้วเห็นการเปลี่ยนแปลงเลย แต่สิ่งสำคัญกว่าคือเป็นรุ่นเสถียรตัวแรกของ React Native for macOS ทำให้สามารถเขียนแอพบนแมคด้วย React Native ได้อย่างจริงจัง

ที่มา – React Native for macOS (0.62), React Native for Windows (0.63)

from:https://www.blognone.com/node/118618

Flutter รองรับการเขียนแอพบนวินโดวส์แล้ว อนาคตจะรองรับ Xbox ด้วย

Flutter เฟรมเวิร์คสำหรับเขียน UI ของกูเกิลที่ใช้ภาษา Dart เริ่มต้นจากมือถือ Android/iOS แต่เมื่อได้รับความนิยมเพิ่มขึ้นเรื่อยๆ ก็ประกาศรองรับแพลตฟอร์มมากขึ้น เริ่มจากเว็บ, แมค, ลินุกซ์ และล่าสุดมาถึงวินโดวส์แล้ว

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

แต่การขยายมายังแพลตฟอร์มใหม่ๆ ก็มีความซับซ้อน เพราะต้องปรับสถาปัตยกรรมของ Flutter ให้เข้ากับแพลตฟอร์มนั้นๆ เช่น กรณีของวินโดวส์ต้องใช้เอนจินกราฟิก Skia เรนเดอร์บน DirectX อีกทีให้มีประสิทธิภาพดี, แอพแต่ละตัวต้องมีโปรแกรมเป็น Win32/C++ ที่คอยโหลดโค้ด Flutter มาอีกที เป็นต้น

No Description

ตอนนี้ Flutter รองรับวินโดวส์ด้วยสถานะแบบอัลฟ่า (ต้องเปิดแชนเนล dev และ enable-windows-desktop) รองรับ Windows 7 ขึ้นไป แอพที่เขียนยังมีเฉพาะแบบ Win32 แต่ทีมงานก็ประกาศจะรองรับแอพแบบ UWP ด้วยในอนาคต เพื่อให้ใช้กับอุปกรณ์ใหม่ๆ ที่ใช้แกนของวินโดวส์ (เช่น Xbox หรือ Windows 10X) ได้ด้วย

เดโมการรัน Flutter บน Xbox

No Description

เดโมการรัน Flutter บนอีมูเลเตอร์ Windows 10X

No Description

ที่มา – Flutter

from:https://www.blognone.com/node/118603

ภาษา Swift ออกเวอร์ชัน 5.3 ใช้งานบน Windows ได้แล้ว

ภาษา Swift พัฒนาขึ้นโดยแอปเปิล เพื่อใช้บนแพลตฟอร์มของแอปเปิลเองเป็นหลัก (iOS, macOS, watchOS, tvOS) และด้วยโครงสร้างแพลตฟอร์มที่คล้ายกัน ทำให้ Swift รองรับการใช้งานบนลินุกซ์ด้วย (ดิสโทรที่รองรับอย่างเป็นทางการคือ Ubuntu, CentOS, Amazon Linux 2)

ล่าสุด Swift ประกาศออกเวอร์ชัน 5.3 ที่มีฟีเจอร์สำคัญคือรองรับแพลตฟอร์ม Windows เต็มรูปแบบ ซึ่งทีมงาน Swift บอกว่าการรองรับ Windows ไม่ได้เป็นแค่การพอร์ตคอมไพเลอร์ แต่รวมถึงไลบรารีและเครื่องมืออื่นๆ ด้วย

ในการเขียน Swift บน Windows จำเป็นต้องใช้ Visual Studio 2019, Windows 10 SDK, Windows Universal C Runtime และดาวน์โหลดแพ็กเกจของ Swift เพิ่มเติมได้จากหน้าเว็บไซต์

ที่มา – Swift (5.3), Swift (Windows)

No Description

from:https://www.blognone.com/node/118587

กูเกิลเล่าประสบการณ์ เขียนแอพ Google Pay ขึ้นมาใหม่ด้วย Flutter อย่างไร

Flutter เป็นเฟรมเวิร์คเขียน UI แบบข้ามแพลตฟอร์มที่ได้รับความนิยมมากขึ้นเรื่อยๆ คนที่สนใจนำ Flutter มาใช้งานอาจสงสัยว่ามีแอพดังๆ ตัวไหนบ้างที่นำมาใช้

ในฐานะผู้สร้าง กูเกิลย่อมเป็นองค์กรที่นำ Flutter มาใช้งานอย่างแพร่หลาย ล่าสุดกูเกิลเขียนบล็อกอธิบายการพัฒนาแอพจ่ายเงิน Google Pay เวอร์ชันใหม่ ที่เขียนใหม่ด้วย Flutter เพื่อให้รองรับกับฐานผู้ใช้จำนวนมากขึ้น

เดิมทีแอพ Google Pay เปิดตัวในอินเดียในชื่อว่า Tez ก่อน และประสบความสำเร็จอย่างมาก มีผู้ใช้มากถึง 67 ล้านคน กูเกิลจึงต้องการต่อยอดความสำเร็จนี้ในประเทศอื่นๆ แต่ก็พบปัญหาว่าแอพเดิมไม่ได้ออกแบบมาเพื่อรองรับสเกลระดับโลก จึงตัดสินใจเขียนแอพ Google Pay ขึ้นมาใหม่โดยวางรากฐานให้ดีพอ ตั้งแต่เรื่อง OS, โครงสร้างพื้นฐาน และวิธีการจ่ายเงินในแต่ละประเทศ

No Description

ทีมงานของกูเกิลตัดสินใจเลือก Flutter ด้วยเหตุผล 3 ข้อ

  • ทำงานข้ามแพลตฟอร์ม เขียนทีเดียวใช้ได้ทั้งบน Android/iOS
  • คอมไพล์แบบ just-in-time พร้อมฟีเจอร์ hot reload ตอนเขียนโค้ดที่เปลี่ยน UI บ่อยๆ จึงทำงานได้เร็ว
  • คอมไพล์แบบ ahead-of-time ได้ด้วย ในการใช้งานจริงจึงมีประสิทธิภาพสูง

กระบวนการพัฒนาเริ่มจากทีมเล็กๆ แค่ 3 คน แล้วค่อยๆ ขยายจำนวนทีมงานขึ้น เพื่อให้ทีมงานแต่ละคนมีเวลาคุ้นเคยกับ Flutter ซึ่งผลออกมาดี ตอนนี้แอพ Google Pay เวอร์ชันใหม่เริ่มทดสอบ Beta แล้วในสิงคโปร์และอินเดีย

นอกจาก Google Pay แล้ว กูเกิลยังใช้งาน Flutter กับแอพอีกหลายตัว เช่น Google Assistant ในหน้าจออัจฉริยะ Google Home Hub, Google Ads, Stadia

อีกประเทศที่ Flutter ได้รับความนิยมสูงคือจีน โดยยักษ์ใหญ่ทั้ง Tencent, Alibaba, Baidu, ByteDance ต่างก็มีแอพหลายตัวที่เขียนด้วย Flutter เช่นกัน

No Description

ที่มา – Google Developers

from:https://www.blognone.com/node/118550

Vue.js ออกรุ่น 3.0 ชื่อเล่น One Piece เล็กลง, เร็วขึ้น, ประหยัดแรม

Vue.js เฟรมเวิร์คจาวาสคริปต์ยอดนิยมอีกตัวประกาศออกรุ่น 3.0 One Piece หลังจากพัฒนามานานถึงสองปี มีการปรับปรุงตามข้อเสนอทั้งหมด 37 รายการ นักพัฒนาที่เกี่ยวข้องรวม 99 คน

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

จุดเด่นคือประสิทธิภาพการรัน Vue ดีขึ้นทุกกรณีเทียบกับ Vue 2 และการใช้แรมก็ลดลงเหลือครึ่งเดียวเท่านั้น

ตัว Vue 3.0 ออกตัวจริงแล้วแต่ก็ยังไม่พร้อมใช้งานเต็มที่เพราะโครงการย่อยยังไม่พอร์ตตามมา เช่น router และ Vuex รวมถึงไม่รองรับ IE 11

ที่มา – GitHub: vuejs/vue-next

No Description

ตัวอย่าง Composition API ใน Vue 3.0

from:https://www.blognone.com/node/118538