ข่าวสำคัญที่นักพัฒนาสาย Android ควรทราบ กูเกิลประกาศนโยบายใหม่สำหรับ Play Store หลายข้อ กำหนดเวอร์ชันของ API (ในที่นี้คือ targetSdkVersion) ในปี 2018, กำหนดว่าต้องเป็นแอพแบบ 64 บิตเท่านั้นในปี 2019, และบังคับให้ต้องมี metadata ด้านความปลอดภัย
Target API level ขั้นต่ำ
กูเกิลพยายามยกเครื่อง Android Emulator มาได้สักพัก ล่าสุด Android Emulator v27.0.2+ เข้าสู่สถานะเสถียร และออกอัพเดตผ่าน SDK Manager แล้ว
ฟีเจอร์ใหม่ที่สำคัญคือ Quick Boot หรือการบันทึกสถานะของอีมูเลเตอร์ เพื่อให้การบูตครั้งที่สองเป็นต้นไปรวดเร็วขึ้น (บูตครั้งแรกที่เป็น cold boot จะยังช้าอยู่) โดยกูเกิลระบุว่าระยะเวลาที่ใช้บูตจะลดลงเหลือต่ำกว่า 6 วินาทีแล้ว
ไมโครซอฟท์ออกอัพเดตให้ Visual Studio 2017 เป็นเวอร์ชัน 15.5
ของใหม่ที่สำคัญคือประสิทธิภาพที่ดีขึ้นแทบทุกด้าน การโหลดไฟล์โซลูชันขนาดใหญ่ (C#/VB) ใช้เวลาน้อยลงถึงครึ่งหนึ่ง ส่วนเวลาที่ใช้สลับระหว่างโหมดีบั๊กและรีลีิสก็ลดลงเช่นกัน และเวลาที่ใช้ unfold เทมเพลตก็อาจเร็วขึ้นถึง 40 เท่า
ในแง่ฟีเจอร์ก็มีของใหม่หลายอย่าง เช่น historical debugging หรือการย้อนกลับไปยัง breakpoint ก่อนหน้าเพื่อดูสถานะของตัวแปรอีกครั้ง, รองรับ Docker แบบ multi-stage, การจัดการรหัสผ่านที่ใช้ล็อกอินเข้าฐานข้อมูลหรือเว็บเซอร์วิส เพื่อไม่ต้อง hardcode ไฟล์เหล่านี้, รองรับการทำงานกับ Xamarin Live Player
วิดีโอเปรียบเทียบความเร็วของ VS2017 15.5 vs 15.4
เมื่อครู่ผมได้ลอง build iOS application จากโปรแกรม Xcode เพื่อทำการทดสอบโดยมี target ไปที่ iPhone 6s Plus ที่ติดตั้ง iOS 11.2 แล้วพบว่าไม่สามารถติดตั้ง application ได้ ทั้งที่ใช้ Xcode 9.1 ซึ่งเป็นรุ่นล่าสุดแล้ว
ทั้งนี้หากต้องการติดตั้ง application บน iOS 11.2 จริง ต้องติดตั้ง Xcode 9.2 beta ที่มีให้สำหรับนักพัฒนาไปก่อน
ทีมพัฒนาภาษา C# จาก Microsoft ปล่อยภาษารุ่นต้นแบบ (prototype) มาทดลองความสามารถสำหรับลดปริมาณปัญหาที่เกี่ยวกับ null โดยเฉพาะ ด้วยการเพิ่มชนิดข้อมูลใหม่ (type) ที่คล้ายกันภายใต้ชื่อว่า nullable มาให้เลือกใช้งาน
ผู้สนใจสามารถดาวน์โหลดความสามารถนี้มาทดลองเล่นได้ผ่าน GitHub
ส่วนใครสงสัยว่า nullable คืออะไร มีบทบาทอย่างไรในการแก้บั๊ก เชิญอ่านต่อข้างในได้เลย
ปัจจุบัน ไมโครซอฟท์ถือเป็นผู้ใช้ Git รายใหญ่ที่สุดของโลก เพราะย้ายซอร์สโค้ดทั้งหมดของ Windows มาเก็บไว้บน Git โดยไมโครซอฟท์แก้ปัญหาเรื่องประสิทธิภาพของ Git ที่ต้องจัดการไฟล์จำนวนมากๆ ด้วยการสร้าง GVFS (Git Virtual File System) ขึ้นมาช่วย
ล่าสุดไมโครซอฟท์ประกาศในงานสัมมนา Microsoft Connect ว่าได้พันธมิตรรายใหญ่อย่าง GitHub เข้ามาเป็นผู้ใช้ GVFS อีกราย และใช้ GVFS สำหรับให้บริการลูกค้าจำนวนมากของ GitHub ด้วย (Bitbucket ซึ่งเป็นคู่แข่งของ GitHub ก็ทดสอบการใช้งาน GVFS ไปแล้วก่อนหน้านี้)
ไมโครซอฟท์โชว์ฟีเจอร์ใหม่ Live Share ของ Visual Studio (ใช้ได้ทั้ง Visual Studio 2017 และ Visual Studio Code) เพื่อให้นักพัฒนามาร่วมเขียนโค้ดได้พร้อมกัน
จุดเด่นของ Live Share คือความง่ายในการแชร์ เพราะเป็นการแชร์แบบเห็น workspace ของอีกฝ่ายทันที (เหมือนกับใช้พวก Google Docs) ไม่ต้องเสียเวลามาซิงก์ข้อมูล, clone repo หรือติดตั้งไลบรารีใดๆ ที่เป็น dependency กันก่อน
เราจะเห็นเคอร์เซอร์ของอีกฝ่ายว่าอยู่ตรงจุดไหน กำลังพิมพ์อะไรอยู่ แถมตัว editor ยังรองรับฟีเจอร์ทุกอย่างเหมือนการเขียนโค้ดปกติ เช่น การช่วยเติมคำ, IntelliSense, refactor, debugger
ความนิยมใน VR/AR/วิดีโอ 360 องศา ทำให้สิ่งสำคัญที่ต้องตามมาคือระบบเสียงแบบอิงตามพื้นที่ (spatial audio) ซึ่งมีบริษัทหลายรายให้ความสำคัญกับเรื่องนี้
ล่าสุด กูเกิลเปิดตัวโครงการ Resonance Audio เป็นชุด SDK สำหรับช่วยจัดการเสียงรอบทิศทาง สามารถใช้กับแพลตฟอร์มได้หลากหลาย ทั้งเอนจินเกมอย่าง Unity/Unreal, สมาร์ทโฟน Android/iOS และเว็บ มี API ในภาษา C/C++, Objective-C, Java และเว็บ
ฟีเจอร์เด่นของ Resonance Audio คืออัลกอริทึมที่ช่วยจำลองแหล่งกำเนิดเสียงได้เป็นหลักร้อยจุดพร้อมกัน โดยให้คุณภาพเสียงดี แต่ใช้ทรัพยากรไม่เยอะ เพื่อลดการทำงานของซีพียูในระหว่างเล่นเกมหรือวิดีโอ ตัวโครงการเปิดซอร์สโค้ดบน GitHub
Visual Studio Code ออกเวอร์ชันใหม่ 1.18 มาพร้อมฟีเจอร์มากมาย เช่น
งาน Google Play Playtime เป็นงานที่จัดขึ้นเพื่อให้นักพัฒนาได้มีโอกาสพูดคุยกับทางกูเกิ้ลเกี่ยวกับเรื่องของแอปพลิเคชั่นและทิศทางต่างๆ Google Play โดยมีจัดขึ้นตามพื้นที่ต่างๆ ทั่วโลก โดยในโซนเอเซียแปซิฟิกก็จัดขึ้นที่ประเทศสิงคโปร์ เมื่อวันที่ 2 พฤศจิกายนที่ผ่านมา ซึ่งทางกูเกิ้ลประเทศไทยก็ได้พาเราไปร่วมงานและเก็บบรรยากาศมาฝากกันครับ
ไมโครซอฟท์ยังคงทยอยปรับปรุงเครื่องมือและเอกสารต่างๆ เพื่อสนับสนุนและผลักดันการใช้ Fluent Design System แนวทางการดีไซน์แบบใหม่สำหรับการพัฒนาแอพบน Windows 10
และล่าสุดก็มาถึงคราวของ XAML Controls Gallery แอพสาธิตการทำงานของ control ต่างๆ ที่มีเลือกให้ใช้ใน Universal Windows Platform ที่ได้รับอัพเดตเพื่อเพิ่มตัวอย่างการใส่ลูกเล่นใหม่ๆ ของ Fluent Design อย่างการใช้แสง เงา เลเยอร์โปร่งแสง การเคลื่อนไหว ฯลฯ
ไมโครซอฟท์เปิดตัว Sonar เครื่องมือช่วยสแกนประสิทธิภาพ ความปลอดภัย และมาตรฐานของเว็บไซต์ เพื่อช่วยให้นักพัฒนาปรับปรุงเว็บไซต์ของตัวเองได้ดีขึ้น
Sonar เป็นเว็บแอพที่จะสแกน URL ตามที่ระบุ และให้คะแนนใน 5 หัวข้อ ได้แก่ การรองรับคนพิการ (accessibility), ความเข้ากันได้ (interoperability), ประสิทธิภาพ (performance), ฟีเจอร์ progressive web app (PWA) และความปลอดภัย (security) พร้อมบอกรายละเอียดว่าควรปรับปรุงเว็บไซต์อย่างไรบ้าง
Firebug ตำนานของเครื่องมือช่วยพัฒนาและดีบั๊กเว็บไซต์ กำลังจะใช้งานไม่ได้กับ Firefox 57 Quantum ที่จะออกช่วงต้นเดือน พ.ย. ถือเป็นจุดสิ้นสุดของ Firebug อย่างเป็นทางการ (รวมถึงส่วนขยายทุกตัวที่เขียนแบบ XUL เดิม)
เรื่องนี้ไม่ใช่เซอร์ไพร์ส เพราะทีมงาน Firebug ประกาศยุติการพัฒนาตั้งแต่ปลายปี 2016 และให้ย้ายไปใช้เครื่องมือมาตรฐานของ Firefox คือ Firefox Developer Tools แทน
ไมโครซอฟท์ออกอัพเดตให้กับ Visual Studio Code ตัวแก้ไขโค้ดฉบับโอเพนซอร์สขยับเลขรุ่นเป็น 1.17
ฟีเจอร์ใหม่ที่น่าสนใจของอัพเดตนี้อย่างแรกคือการรองรับ Touch Bar บน Macbook Pro รุ่นใหม่ โดยจะสามารถใช้ปุ่มเดินหน้า / ถอยหลังช่วยสลับไปมาระหว่าง editor ที่ถูกเปิดใช้งานอยู่ ไปจนถึงใช้สั่งเริ่มและควบคุมการดีบักโค้ดได้
นอกจากนี้ VS Code ยังเปิดให้ส่วนเสริมหรือ extension จากนักพัฒนาภายนอกสามารถเพิ่มเมนูและรับคำสั่งจาก Touch Bar ได้เช่นกัน
Mastercard เปิด API ของเครือข่าย blockchain ของตัวเองให้นักพัฒนาและพาร์ทเนอร์ใช้งานแล้ว
ที่ผ่านมา Mastercard เปิด API ให้นักพัฒนาภายนอกใช้งานอยู่ก่อนแล้วบนเว็บไซต์ Mastercard Developers โดยมี API ครอบคลุมบริการหลายอย่าง เช่น ส่งเงินให้กัน, แจ้งเตือนการรูดบัตร, ตรวจสอบการปลอมบัตร ฯลฯ ข่าวนี้คือการเพิ่ม API สำหรับการใช้งาน blockchain เข้ามาอีกตัวหนึ่ง
กูเกิลปรับปรุงหน้าตาของ Google Play บางส่วน โดยเปลี่ยนดีไซน์หน้า Editor's Choice ใหม่สำหรับผู้ใช้ในบางประเทศ ส่วนของเกมยังปรับปรุงหน้าตาใหม่ เพิ่มภาพและเทรลเลอร์เกมมากขึ้น พร้อมเพิ่มหมวดเกมใหม่คือ New สำหรับเกมใหม่ และ Premium สำหรับเกมที่ต้องจ่ายเงิน
กูเกิลยังผนวกเอาฟีเจอร์ Instant Apps เข้ามารวมกับ Google Play ให้มากขึ้น โดยเพิ่มปุ่ม Try it Now บนหน้ารายการแอพ เพื่อให้ลองใช้แอพก่อนโดยไม่ต้องติดตั้ง
ค่าย Mozilla มีคลังเอกสารสำหรับนักพัฒนาเว็บบน Firefox ชื่อว่า Mozilla Developer Network (MDN) มายาวนาน 12 ปี และถือเป็นแหล่งข้อมูลสำคัญสำหรับนักพัฒนาเว็บทั่วโลก มีคนเข้าเว็บเดือนละ 6 ล้านคน
ล่าสุด Mozilla ประกาศความร่วมมือกับไมโครซอฟท์ กูเกิล ซัมซุง และ W3C เพื่อพัฒนาให้ MDN กลายเป็นคลังเอกสารสำหรับนักพัฒนาเว็บที่ใช้ได้กับหลายเบราว์เซอร์ ไม่จำกัดแค่ Firefox เพียงรายเดียว เพื่ออำนวยความสะดวกให้นักพัฒนาเว็บที่ไม่ต้องไปดูเอกสารสำหรับเบราว์เซอร์แต่ละตัว มาที่ MDN ที่เดียวจบ
ไมโครซอฟท์ออก .NET Framework 4.7.1 ซึ่งเป็นการอัพเดตต่อจาก .NET Framework 4.7 ที่ออกในเดือนเมษายน
การอัพเดตครั้งนี้มาพร้อม Windows 10 Fall Creators Update โดยตัว .NET Runtime ที่มาพร้อมกับ Fall Creators Update ก็เป็นเวอร์ชัน 4.7.1 เช่นกัน (สำหรับคนที่ใช้ Windows รุ่นต่ำกว่านี้ก็สามารถดาวน์โหลดแยกเองได้)
การเปลี่ยนแปลงสำคัญคือ รองรับสเปก .NET Standard 2.0 ที่ออกในเดือนสิงหาคม ส่งผลให้ตอนนี้ .NET Framework (ไม่โอเพนซอร์ส) และ .NET Core (โอเพนซอร์ส) รองรับ API ตามมาตรฐาน .NET Standard เท่ากันแล้ว
ใกล้ถึงกำหนดออก Windows 10 Fall Creators Update (FCU) เข้ามาเรื่อยๆ วันนี้ไมโครซอฟท์จัดงานนักพัฒนา Windows Developer Day ที่ลอนดอน และมีข่าวประกาศดังนี้
Azure Functions บริการคลาวด์ Serverless ของไมโครซอฟท์ ประกาศรองรับภาษา Java เพิ่มเติม จากเดิมที่รองรับ C#, F#, Node.js, Python, PHP อยู่ก่อนแล้ว
ไมโครซอฟท์บอกว่าต้องการขยายการรองรับภาษาต่างๆ ให้มากขึ้น ก่อนหน้านี้ก็เพิ่งประกาศรองรับ .NET Core ไป การรองรับ Java จะช่วยให้โปรแกรมเมอร์สาย Java หันมาใช้งาน Azure Functions ได้ง่ายขึ้นโดยไม่ต้องเรียนรู้ภาษาใหม่ แถมโครงการที่ใช้ Maven อยู่แล้วก็สามารถนำมาใช้ต่อได้เลย
บริการคู่แข่ง AWS Lambda นั้นรองรับ Java อยู่ก่อนแล้ว ส่วน Google Cloud Functions ยังรองรับเฉพาะ JavaScript ภาษาเดียว
เรียกว่าเป็นแอพขวัญใจนัก root ก็ว่าได้กับ SuperSU ที่มียอดดาวน์โหลดกว่า 100 ล้านครั้งบน Play Store
อย่างไรก็ตาม Chainfire แฮ็กเกอร์ผู้พัฒนาเครื่องมือตัวนี้ก็ประกาศเกษียณตัวเองออกจากโครงการนี้แล้ว หลังจากเขาขายแอพตัวนี้ให้บริษัท CCMT ของจีนเมื่อ 2 ปีก่อน
ตอนนี้ Chainfire มีสถานะเป็นแค่ที่ปรึกษาของแอพ SuperSU เท่านั้น และสัญญาของเขากับ CCMT จะหมดลงอย่างเป็นทางการในวันที่ 24 กุมภาพันธ์ 2018
Chainfire บอกให้แฟนๆ มั่นใจกับอนาคตของ SuperSU ว่าจะไปต่อได้ดี เพราะสองปีที่ผ่านมาเขาก็ทำงานร่วมกับทีมของ CCMT ได้เป็นอย่างดี ส่วนอนาคตของตัวเขาเองยังไม่แน่ชัด แต่ก็คาดว่าจะยังอยู่ในวงการพัฒนาแอพมือถือเช่นเดิม
ธีมสำคัญอย่างหนึ่งในงาน Oracle OpenWorld 2017 ปีนี้คือการที่ Oracle บุกตลาดคลาวด์เต็มตัว (สักที) สิ่งที่เกิดขึ้นคือเปิดบริการคลาวด์ใหม่ๆ ให้ทัดเทียมคู่แข่งรายอื่น เช่น Oracle Blockchain Cloud Service หรือ Fn สำหรับงาน Serverless
บริการใหม่อีกตัวที่น่าสนใจคือ Oracle Container Native Application Development Platform (ชื่อยาวมาก) มันคือบริการพัฒนาแอพพลิเคชันในยุคคอนเทนเนอร์ครองเมือง
เทร็นด์อีกอย่างหนึ่งของโลกเซิร์ฟเวอร์ในช่วงหลัง คือการประมวลผลแบบ serverless ที่ไม่ต้องรันเซิร์ฟเวอร์ค้างไว้ตลอดเวลา แต่เซิร์ฟเวอร์จะเริ่มทำงานเมื่อเกิดเหตุการณ์ตามที่ระบุไว้ (event-based หรือบ้างก็เรียกว่า functions-as-a-service)
ผู้นำของแนวทางนี้คือ AWS Lambda ที่เปิดตัวในปี 2014 จากนั้นคู่แข่งคลาวด์รายอื่นก็ทำตามกันหมด ทั้ง Google Cloud Function และ Microsoft Azure Functions
เมื่อปลายเดือนสิงหาคมที่ผ่านมาไมโครซอฟท์ได้ปล่อย UWP Community Toolkit เวอร์ชัน 2.0 ชุดรวมเครื่องมือช่วยสร้างแอพ Universal Windows Platform โดยชุมชนนักพัฒนาตัวใหม่ ที่ไม่ได้อัพเดตเพียงแค่การเพิ่ม control และไลบรารีใหม่ๆ ที่จะช่วยให้การพัฒนาแอพบน Windows 10 สะดวกขึ้นเท่านั้น
ไมโครซอฟท์ออกอัพเดตให้กับ Visual Studio Code ตัวแก้ไขโค้ดฉบับโอเพนซอร์สขยับเลขรุ่นเป็น 1.16
สิ่งน่าสนใจที่ถูกเพิ่มเข้ามาในอัพเดตนี้อย่างแรกคือการเพิ่มตัวช่วย refactoring ฟังก์ชั่นบนภาษา JavaScript และ TypeScript ทำให้นักพัฒนาสามารถแยกโค้ดส่วนที่คิดว่าเริ่มซับซ้อนออกมาเป็นฟังก์ชั่นหรือเมธอดใหม่ได้อย่างรวดเร็ว เพียงแค่ลากเมาส์เพื่อเลือกโค้ดส่วนที่ต้องการแล้วกดไอคอนหลอดไฟด้านหน้าโค้ดหรือกดคีย์ลัด Ctrl + .
นอกจากนี้ยังช่วยอำนวยความสะดวกให้กับการเขียน HTML เพิ่มเติม โดยได้ปรับปรุงตัวช่วยเลือกสี (Color picker) ให้ใช้งานภายในแท็ก style ในเอกสาร HTML ได้แล้ว (อัพเดตก่อนใช้ได้กับไฟล์ CSS, SASS และ Less เท่านั้น)