แอปพลิเคชันเนทิฟคืออะไร? แอปพลิเคชั่นมือถือ แอปพลิเคชันดั้งเดิม ขั้นตอนแรก

สักวันหนึ่ง การขาดความรู้พื้นฐานเกี่ยวกับแอปพลิเคชันบนมือถืออาจกลายเป็นมารยาทที่ไม่ดี ระหว่างนี้เรามาดูกันว่ามีแอปพลิเคชั่นประเภทใดบ้าง มาจากระยะไกลเราสามารถแยกแยะได้เพียงสามประเภทเท่านั้น: คืออะไร แอพเนทีฟ, เว็บแอปพลิเคชัน และไฮบริด

คุณรู้หรือไม่ว่า Native Application คืออะไร?

สำหรับผู้ใช้ แอปพลิเคชันเนทิฟคือแอปพลิเคชันที่ต้องติดตั้ง โดยทั่วไปสิ่งนี้เป็นจริงเช่นเดียวกับความจริงที่ว่าแอปพลิเคชันดังกล่าวได้รับการพัฒนาโดยเฉพาะสำหรับแพลตฟอร์มมือถือ (iOS, Android, วินโดว์โฟน- ดังนั้น นักพัฒนาจึงจำเป็นต้องมีทักษะการเขียนโปรแกรมในสภาพแวดล้อมการพัฒนาเฉพาะ (xCode สำหรับ iOS, eclipse สำหรับ Android)

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

เว็บแอปแตกต่างจากแอปเนทีฟ

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

แต่แอพแบบเนทีฟจะเป็นอย่างไรเมื่อเทียบกับเว็บไซต์บนมือถือ? เส้นแบ่งระหว่างเว็บแอปพลิเคชันและไซต์บนมือถือนั้นบางมาก และในเรื่องนี้ไม่ใช่แค่ผู้ใช้ที่สับสน แต่ในบางกรณีคือนักพัฒนาเอง แต่มีความแตกต่าง โดยทั่วไปแล้ว ไซต์ดังกล่าวจะมีข้อมูลที่คงที่ไม่มากก็น้อย และมีลักษณะคล้ายกับโบรชัวร์ดิจิทัล ในเว็บแอปพลิเคชัน ผู้ใช้สามารถจัดการข้อมูลบางส่วนได้ - สร้าง หน้าของตัวเอง, สลับลิงค์, ข้อความ ฯลฯ

ดังนั้น ได้ง่ายขึ้นด้วยเว็บแอปพลิเคชันเรียกทุกอย่างที่เรียกกันทั่วไปว่าบริการออนไลน์ เว็บแอปพลิเคชันยังสามารถเรียกได้ว่าเป็นสิ่งที่เคยทำใน Flash และตอนนี้ใน HTML5

แอพไฮบริด

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

จะเลือกอะไรดี? แอพเนทีฟ ไฮบริดหรือเว็บ?

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

แปลจากภาษาอังกฤษ Native แปลว่า "เจ้าของภาษา" แอปพลิเคชั่นแบบเนทีฟได้รับการพัฒนาสำหรับโทรศัพท์มือถือสำหรับระบบปฏิบัติการเฉพาะ ทำโดยผู้เชี่ยวชาญที่มีความรู้และทักษะในด้านนี้ สำหรับแอปพลิเคชันเนทิฟ การออกแบบที่ดีโดยโต้ตอบกับระบบปฏิบัติการมือถือได้อย่างอิสระ และสามารถทำงานผ่านการเชื่อมต่ออินเทอร์เน็ตหรือออฟไลน์ได้

นี่คืออะไร?

แอปพลิเคชันแบบเนทีฟเป็นการพัฒนาที่พร้อมใช้งานสำหรับแพลตฟอร์มอุปกรณ์เดียว ตัวอย่างเช่นมีแอปพลิเคชั่นมือถือที่ออกแบบมาโดยเฉพาะ แพลตฟอร์ม Androidหรือไอโฟน ด้วยการพัฒนา เทคโนโลยีที่ทันสมัยรูปลักษณ์ภายนอก แอพพลิเคชั่นต่างๆ(เนทีฟ, ไฮบริด, เว็บ) มีตัวเลือกให้เลือกแล้ว แอปพลิเคชันเนทิฟจะถูกดาวน์โหลดผ่านร้านค้าพิเศษ ( แอพสโตร์, Google Play) และติดตั้งบนสมาร์ทโฟนแล้ว

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

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

วัตถุประสงค์

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

การพัฒนา Native Application สำหรับธุรกิจต้องผ่านสามขั้นตอนหลัก ประการแรกคือการปรับเว็บไซต์ที่มีอยู่สำหรับสมาร์ทโฟน (การสร้างแอปพลิเคชันเว็บ) ขั้นตอนที่สองคือการสร้างแอปพลิเคชั่นไฮบริดที่รวมเทคโนโลยีเว็บและฟังก์ชั่นของอุปกรณ์มือถือ ขั้นตอนที่สามคือการเขียนแอปพลิเคชันเนทีฟสำหรับ โทรศัพท์มือถือ- เป็นทรัพยากรที่เข้มข้นที่สุด แต่ช่วยให้คุณตระหนักถึงความเป็นไปได้ต่างๆ ระบบปฏิบัติการอุปกรณ์และบรรลุผลตามที่ต้องการผ่านฟังก์ชันการทำงานที่เพิ่มขึ้นของสมาร์ทโฟน ความนิยมของแอปพลิเคชันแบบเนทิฟขึ้นอยู่กับประสิทธิภาพสูง การดีบัก ความเสถียร และความสามารถในการทำงานโดยไม่ใช้อินเทอร์เน็ต การอัปโหลดไปยัง App Store ในภายหลังช่วยให้นักพัฒนาสามารถติดตามสถิติการขายได้ ใช้แอปพลิเคชันแบบเนทีฟหากคุณต้องการประมวลผลข้อมูลจำนวนมหาศาลและ ความเร็วสูงงาน.

สายพันธุ์

ประเภทของแอปพลิเคชันบนมือถือ: เนทิฟ เว็บ และไฮบริด มีความคล้ายคลึงกัน เนทีฟนั้นเขียนขึ้นโดยเฉพาะสำหรับระบบปฏิบัติการเช่น iOS Android, วินโฟน มีการดาวน์โหลดผ่านร้านค้าแอปพลิเคชันและปฏิบัติตามข้อกำหนด แอปพลิเคชันแบบเนทีฟทำงานได้อย่างรวดเร็วและราบรื่น ด้วยการเพิ่มประสิทธิภาพสำหรับระบบปฏิบัติการเฉพาะ พวกเขาสามารถเข้าถึงฟังก์ชั่นของอุปกรณ์ได้ แอปพลิเคชันเหล่านี้สามารถทำงานได้จากอินเทอร์เน็ตหรือแบบสแตนด์อโลน

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

ไฮบริดจะรวมฟังก์ชันของสองฟังก์ชันก่อนหน้าเข้าด้วยกัน แอปพลิเคชันนี้ทำงานร่วมกับซอฟต์แวร์สมาร์ทโฟนเนื่องจากเป็นแพลตฟอร์มข้ามแพลตฟอร์ม ดาวน์โหลดจากร้านแอปพลิเคชันทำงานผ่านอินเทอร์เน็ต แอปไฮบริดเป็นที่นิยมมากที่สุดในหมู่ผู้ใช้ Native ถูกใช้หากต้องการการประมวลผลข้อมูลความเร็วสูง (โซเชียลเน็ตเวิร์ก เกม หรือตำแหน่งทางภูมิศาสตร์) จำพื้นเมืองคนนั้น แอปพลิเคชัน Androidไม่เหมาะกับ iPhone หรือสมาร์ทโฟนที่มีแพลตฟอร์มอื่น

ข้อดี

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

ข้อบกพร่อง

แอพเนทีฟมีข้อเสีย การพัฒนาใช้เวลานานและค่าใช้จ่ายของแอปพลิเคชันดังกล่าวก็สูงกว่า นักพัฒนาซอฟต์แวร์จำเป็นต้องมีความรู้เกี่ยวกับสภาพแวดล้อมการเขียนโปรแกรมเฉพาะ นอกจากนี้ Native ยังใช้งานได้กับระบบปฏิบัติการเดียว หากคุณต้องการเปลี่ยนแปลงสิ่งใดในแอปพลิเคชัน คุณต้องเผยแพร่การอัปเดต

วิธีการติดตั้ง?

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

รหัสพื้นเมือง

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

แอปพลิเคชันเหล่านี้เป็น Java มันทำให้นักพัฒนา โอกาสที่ดี- ความเก่งกาจและความสะดวกสบายช่วยให้คุณสร้างสรรค์ได้ โดยเร็วที่สุดเรียบง่าย แอปพลิเคชันระดับองค์กร- ข้อดีของการพัฒนา Java ก็คือเครื่องมือของ Java มีอยู่ในระบบปฏิบัติการพีซีทุกระบบ ซึ่งรวมถึง Linux และ MacOS หากคุณต้องการพัฒนาแอพพลิเคชั่นโดยใช้ ภาษาจาวาคุณจะต้องมีคอมพิวเตอร์ที่ทำงานอยู่ ใช้งาน MacOS X. พื้นเมือง แอพ iOSแตกต่างจาก Android ในเรื่องระยะเวลาที่ใช้ในการพัฒนา

ราคา

โปรแกรมออกแบบฟรีสำหรับแอปพลิเคชันมือถือแบบเนทีฟช่วยให้ผู้ใช้สร้างมันขึ้นมาเอง มีนักออกแบบจำนวนมากบนอินเทอร์เน็ต ที่ได้รับความนิยมและเป็นที่รู้จักมากที่สุด ได้แก่ My-apps, Net2Share, BuildApp, MobiumApps, Appsa4u ตัวอย่างเช่น ตัวสร้าง My-apps จะประกอบแอปพลิเคชันสำหรับระบบปฏิบัติการอย่างอิสระ ระบบไอโอเอสและระบบปฏิบัติการ Android ผู้ใช้สามารถเลือกหนึ่งในสิบ เทมเพลตสำเร็จรูปขึ้นอยู่กับวัตถุประสงค์ของการสมัคร ผลลัพธ์สุดท้ายสามารถเผยแพร่ในร้านค้าเพื่อดาวน์โหลดได้

การพัฒนาแอปพลิเคชั่นแบบเนทีฟอย่างเต็มรูปแบบนั้นไม่ถูก ก่อนที่จะวางแผน ควรตัดสินใจเกี่ยวกับงบประมาณของคุณ ควรประกอบด้วยกองทุนเพื่อส่งเสริมผลิตภัณฑ์สำเร็จรูปและการพัฒนาตนเอง หากแอปพลิเคชันถูกเตรียมไว้สำหรับระบบปฏิบัติการหลายระบบ ค่าใช้จ่ายจะเพิ่มขึ้นสองเท่า มันเกี่ยวกับเกี่ยวกับการพัฒนาสำหรับ นิติบุคคล, ตัวอย่างเช่น, บริษัทการค้า- แอปแบบไฮบริดมีราคาสูงกว่าแอปแบบเนทีฟถึง 30% ในขณะที่แอปบนเว็บ ราคาต่ำเนื่องจากฐานโค้ดเดียว ดังนั้นจึงให้ผลกำไรมากกว่าในการพัฒนาโค้ดเหล่านั้นมากกว่าโค้ดเนทีฟ

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

ผลงาน

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

การแพร่กระจาย

หลังจากพัฒนาพื้นเมืองแล้ว แอปพลิเคชันวินโดวส์, Android, iOS ต้องเข้าถึงผู้ใช้ การจำหน่ายผ่าน App Store มากที่สุด ตัวเลือกที่ดีที่สุด- มี ข้อกำหนดพิเศษไปจนถึงผลิตภัณฑ์สำเร็จรูปซึ่งผู้พัฒนาควรยึดถือไว้ล่วงหน้า ขึ้นอยู่กับนโยบายภายในของร้านค้า หากแอปพลิเคชันสำเร็จ ผู้ใช้จะดาวน์โหลด และเจ้าของจะได้รับผลกำไรและเรตติ้งที่เพิ่มขึ้น โปรดจำไว้ว่าการเพิ่มเนื้อหาใดๆ (การพัฒนาแบบเนทีฟและแบบผสม) ไปยัง App Store จำเป็นต้องมีขั้นตอนการยืนยัน

แอปพลิเคชันดั้งเดิม- เป็นโปรแกรมที่ออกแบบมาเพื่อรันบนระบบปฏิบัติการ ระบบวินโดวส์ตระกูล NT (NT/2000/XP/2003/Vista/7) สามารถเริ่มทำงานได้ตั้งแต่เนิ่นๆ ในการบูต Windows ก่อนหน้าต่างเข้าสู่ระบบ และแม้กระทั่งก่อนที่ระบบย่อย Windows ใดๆ จะเริ่มทำงาน หน้าจอสีน้ำเงินที่ กำลังบูต Windows XP ซึ่งมีการตรวจสอบดิสก์เกิดขึ้นเป็นโหมดเดียวกัน แอปพลิเคชันแบบเนทีฟใช้เฉพาะ Native API เท่านั้น โดยสามารถใช้ได้เฉพาะฟังก์ชันที่ส่งออกจากไลบรารี ntdll.dll เท่านั้น ฟังก์ชัน WinAPI ไม่พร้อมใช้งาน

แอปพลิเคชันดั้งเดิมจะทำงานบนหน้าจอที่ปรากฏขึ้นก่อนที่หน้าต่างเข้าสู่ระบบจะปรากฏขึ้น ตัวอย่างของแอปพลิเคชันเนทิฟคือ แอปพลิเคชัน chkdskซึ่งทำงานก่อนเข้าสู่ระบบ Windows หากพาร์ติชันระบบได้รับการตรวจสอบข้อผิดพลาดก่อนหน้านี้และเลื่อนออกไปจนกว่าจะรีบูต แอปพลิเคชันทำงานโดยแสดงข้อความบนหน้าจอ จากนั้น Windows จะเริ่มทำงานตามปกติ

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

ฟังก์ชั่นใน ntdll.dllมีคำนำหน้า ซวและ นทเช่นเดียวกับคนอื่นๆ จะเห็นได้ว่าฟังก์ชัน Zw และ Nt มีชื่อซ้ำกัน อันที่จริงสิ่งเหล่านี้เป็นฟังก์ชันเดียวกัน หากคุณกำลังมองหาตัวอย่างการใช้ฟังก์ชันทางออนไลน์ คุณควรค้นหาด้วยคำนำหน้าหนึ่งก่อน จากนั้นจึงค้นหาด้วยคำนำหน้าอีกคำหนึ่ง ไม่เช่นนั้นคุณอาจพลาดบางสิ่งบางอย่างไป ทำไมพวกเขา คำนำหน้าที่แตกต่างกัน- เรื่องราวแยกต่างหากสำหรับการเขียนโปรแกรมแอปพลิเคชันเนทิฟนั้นไม่ได้มีบทบาทสำคัญ

ต้นแบบของฟังก์ชัน Native API จำเป็นสำหรับการเขียนโปรแกรม แต่ไม่มีคำจำกัดความทั้งหมดอยู่ในไฟล์ส่วนหัว WDK มีความจำเป็นต้องใช้ไฟล์ส่วนหัวอื่น รวมถึงคำจำกัดความของฟังก์ชันและประเภทข้อมูลที่ไม่มีเอกสาร ตัวอย่างเช่น คุณสามารถใช้ไฟล์ส่วนหัว Native Development Kit (NDK) ที่มีอยู่ได้

การเขียนโปรแกรมโดยใช้ Native API ล้วนๆ นั้นไม่สะดวก คุณไม่สามารถทำได้หากไม่มีไลบรารีที่ใช้การกระทำตามปกติบางอย่างอยู่แล้ว มีห้องสมุดด้วย โอเพ่นซอร์ส- คุณสามารถใช้มันได้ มีการประกาศไลบรารี NDL บางแห่งในหน้า NDK ด้วย แต่ไม่มีอยู่บนเว็บไซต์

เพื่อให้แอปพลิเคชันเนทิฟเริ่มต้นเมื่อใด การเริ่มต้นระบบวินโดวส์คุณต้องใส่ไว้ในไดเร็กทอรี system32 และเขียนชื่อไฟล์และอาร์กิวเมนต์ (ถ้ามี) ในรีจิสทรีคีย์ HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute คีย์เป็นประเภท MULTI_SZ และสามารถมีหลายบรรทัดได้ บรรทัดแรกคือ Autocheck Autochk * หลังจากนั้นคุณสามารถเขียนโปรแกรมของคุณได้ โปรแกรมที่ลงทะเบียนด้วยคีย์นี้มีแนวโน้มที่จะทำงานได้แม้ในสภาพแวดล้อมที่ปลอดภัย โหมดวินโดวส์ (เซฟโหมด) ดังนั้นคุณต้องระมัดระวัง เกิดข้อผิดพลาดในโปรแกรม - และระบบจะไม่เริ่มทำงาน แต่คุณสามารถติดตามข้อเท็จจริงของการเปิดตัวในเซฟโหมดภายในแอปพลิเคชันและประมวลผลโหมดนี้แยกกันได้ เช่น ยุติโปรแกรมหากตรวจพบว่าตัวเองทำงานในเซฟโหมด นอกจากนี้ แม้ว่าโปรแกรมจะเริ่มทำงานและสามารถดำเนินการบางอย่างได้ แต่เอาต์พุตคอนโซลจะไม่ทำงานในโหมดนี้ ไม่สามารถโต้ตอบกับผู้ใช้ได้ สิ่งนี้ควรนำมาพิจารณาด้วย

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

สำหรับแอปพลิเคชันแบบเนทีฟ จุดเข้าใช้งานไม่ใช่จุดหลักหรือ wmain แต่เป็น NtProcessStartup- ส่วนหัว PE ของไฟล์ EXE มีช่องพิเศษที่ระบุระบบย่อยที่แอปพลิเคชันทำงาน สำหรับแอปพลิเคชันแบบเนทิฟ ฟิลด์นี้จะถูกตั้งค่าเป็นค่าพิเศษ ซึ่งหมายความว่า EXE ไม่ต้องการระบบย่อย คุณ การใช้งานปกติมีการตั้งค่าที่สอดคล้องกับระบบย่อย " วินโดวส์ GUI" หรือ "คอนโซล Windows" แอปพลิเคชันดั้งเดิมไม่ทำงาน โหมดปกติ การทำงานของวินโดวส์- เมื่อพยายามจะวิ่ง. โปรแกรมวินโดวส์แสดงข้อความ "ไม่สามารถเปิดแอปพลิเคชันในโหมด Win32"

ไม่รองรับการแสดงอักษรซีริลลิกบนหน้าจอตามค่าเริ่มต้นในโหมดนี้ มีวิธีแก้ไขข้อ จำกัด นี้อย่างไรก็ตามวิธีการนี้ซับซ้อนและปัจจุบันใช้ได้กับ Windows XP เท่านั้น

การเตรียมโครงการแอปพลิเคชันเนทิฟ

ฉันสร้างเทมเพลตโครงการแอปพลิเคชันเนทีฟ - ชุดไฟล์ที่สามารถใช้เป็นฐานสำหรับการพัฒนาแอปพลิเคชันเนทีฟของคุณเอง ต้นขั้วมีไฟล์ Native.c ที่มีจุดเริ่มต้นไปยังแอปพลิเคชัน ไฟล์ที่เหลือคือไฟล์ไลบรารี ZenWINX ที่ได้รับการดัดแปลงเพื่อใช้คำจำกัดความของฟังก์ชันจาก NDK แทนที่จะเป็นไฟล์คำจำกัดความของตัวเอง ซึ่งจะทำให้คุณสามารถใช้ทั้งฟังก์ชันของไลบรารี่และฟังก์ชัน Native API ที่นักพัฒนา ZenWINX ลืมใส่ไว้ในไฟล์ส่วนหัวของตนเอง อันที่จริงแล้ว NDK นั้นมากกว่านั้น แคตตาล็อกเต็มรูปแบบพื้นเมือง ฟังก์ชัน APIกว่าไฟล์ที่มาพร้อมกับ ZenWINX คุณต้องคอมไพล์ชิ้นงานโดยใช้ยูทิลิตี้ build จาก WinDDK (ฉันใช้ WinDDK เวอร์ชัน 1.1.6001.000) คุณควรรวมไฟล์ส่วนหัว NDK โดยระบุเส้นทางไปยังไดเร็กทอรีด้วย

นอกจากนี้ยังสามารถพัฒนาและสร้าง Native Applications ได้โดยตรงอีกด้วย วิชวลสตูดิโอโดยไม่ต้องใช้คอมไพเลอร์ WDK วิธีการทำเช่นนี้เขียนไว้ในบทความ

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

การโหลดระบบปฏิบัติการหมายถึงอะไร? โดยส่วนใหญ่ นี่คือการแมปโมดูลที่ปฏิบัติการได้เข้ากับหน่วยความจำและการเริ่มต้น โครงสร้างการบริการข้อมูล. โครงสร้างข้อมูลอยู่ในหน่วยความจำ ดังนั้นตามทฤษฎีแล้วการดำเนินการกับโครงสร้างข้อมูลจึงควรรวดเร็ว ทุกอย่างบ่งบอกว่ากระบวนการโหลดโมดูลปฏิบัติการลงในหน่วยความจำใช้เวลาอย่างแม่นยำ

เพื่อความสนุกสนาน เรามาดูกันว่าโมดูลใด ปริมาณใด และลำดับใดที่จะโหลดเมื่อระบบปฏิบัติการเริ่มทำงาน หากต้องการทราบ คุณสามารถรับบันทึกการบูตระบบได้ เป็นต้น ระบบปฏิบัติการทดสอบในกรณีของฉันคือ Windows 7 Enterprise x64 เราจะบันทึกกระบวนการบู๊ตโดยใช้เคอร์เนลดีบักเกอร์ มีหลายตัวเลือกสำหรับการดีบักเกอร์เคอร์เนล โดยส่วนตัวแล้วฉันชอบ WinDbg มากกว่า นอกจากนี้เรายังจำเป็นต้องมีเครื่องมือบางอย่างในการแปลงท่อนไม้ให้กลายเป็นสิ่งที่น่าพึงพอใจยิ่งขึ้น

การขุดและการประดิษฐ์

Google การตั้งค่าการแก้ไขข้อบกพร่องเป็นเรื่องง่าย ดังนั้นฉันจะไม่อธิบายกระบวนการนี้โดยละเอียด เนื่องจากเราสนใจทุกสิ่งที่เกิดขึ้นตั้งแต่วินาทีที่ระบบเริ่มทำงาน เราจึงต้องตรวจสอบรายการ "Cycle Initial Break" ซึ่งโปรแกรมดีบั๊กจะหยุดทำงานทันทีที่ระบบย่อยการดีบักเคอร์เนลถูกโหลดในระบบที่กำลังดีบั๊ก . การทำซ้ำเอาต์พุตไปยังไฟล์สามารถทำได้โดยใช้คำสั่ง ".logopen" และ ".logclose" ซึ่งทำได้ง่ายมาก อื่น คำสั่งที่เป็นประโยชน์- ".cls" มันจะล้างหน้าจอคำสั่ง และใช่ เฉพาะหน้าจอคำสั่งเท่านั้น

ฟังก์ชั่นที่เราสนใจคือ “MiCreateImageFileMap” นี่คือฟังก์ชันภายในของตัวจัดการหน่วยความจำที่แมปไฟล์ปฏิบัติการลงในหน่วยความจำ การฉายภาพหน่วยความจำเกิดขึ้นเมื่อส่วนถูกสร้างขึ้น เช่น เมื่อเริ่มต้นระบบ ไฟล์ปฏิบัติการ- อย่างไรก็ตาม โปรดทราบว่าเพียงเพราะไฟล์ปฏิบัติการถูกแมปลงในหน่วยความจำไม่ได้รับประกันว่าโค้ดจะถูกดำเนินการ! ฟังก์ชันนี้เพียงสร้างการฉายภาพ ซึ่งส่วนใหญ่มักจะ "สำรองไว้" ดังนั้นหากมีคนตัดสินใจเรียกใช้โมดูลเพื่อดำเนินการ ก็สามารถประหยัดเวลาในการโหลดได้ มาตั้งค่าเบรกพอยต์การบันทึกบนฟังก์ชันนี้กัน

หากคุณมีมานาเพียงพอ ให้ป้อนคำสั่งต่อไปนี้:
bu nt!MiCreateImageFileMap "dt nt!_EPROCESS -d ImageFileName @$proc; dt nt!_FILE_OBJECT -d FileName @rcx; g"
เส้นเวทย์มนตร์หมายถึงสิ่งต่อไปนี้:

  • bu (ตั้งค่าเบรกพอยต์ที่ยังไม่ได้แก้ไข) - ตั้งค่าเบรกพอยต์ที่ยังไม่ได้รับการแก้ไข ไม่ใช่ว่าบางคนหรือบางสิ่งบางอย่างไม่อนุญาต มันเป็นเพียงว่าในการติดตั้งคุณต้องตัดสินใจว่าจะใส่ที่อยู่ใด ความจริงก็คือไม่ทราบล่วงหน้าว่าควรตั้งอยู่ที่ไหน เมื่อโหลดโมดูลใด ๆ การมีอยู่ของ ฟังก์ชั่นที่จำเป็นและหากพบฟังก์ชันดังกล่าว เบรกพอยต์จะถูกตั้งค่าโดยอัตโนมัติ วิธีการติดตั้งนี้เป็นสิ่งที่ขาดไม่ได้เมื่อเปิดใช้งาน ASLR - การสุ่มพื้นที่ที่อยู่ เนื่องจากโมดูลจะถูกโหลดตามที่อยู่ที่แตกต่างกันในแต่ละครั้ง และจุดพักจะถูกตั้งค่าที่ ที่อยู่คงที่, คงจะตกงานแล้ว
  • nt!MiCreateImageFileMap เป็นสัญลักษณ์ให้หยุดที่ WinDbg ยอมรับรายการในรูปแบบ "module_name!function_name" ใน ในกรณีนี้ nt เป็นนามแฝงที่กำหนดไว้ล่วงหน้าสำหรับ ntoskrnl.exe
  • สิ่งต่อไปนี้เป็นส่วนหนึ่งของสคริปต์ WinDbg ซึ่งจะถูกดำเนินการทุกครั้งที่ฟังก์ชันนี้หยุดทำงาน “dt nt!_EPROCESS -d ImageFileName @$proc” ในภาษารัสเซียหมายถึง “แสดงฟิลด์ ImageFileName ของโครงสร้าง _EPROCESS จากโมดูล nt โดยมีเงื่อนไขว่าจะแสดงตามที่อยู่ที่กำหนดไว้ในการลงทะเบียนหลอก “กระบวนการปัจจุบัน” ถัดไปหลังจากตัวคั่น ";" คำสั่งหมายถึงสิ่งเดียวกันโดยประมาณ เฉพาะที่อยู่ของโครงสร้างเท่านั้นที่นำมาจากการลงทะเบียน rcx ซึ่งพารามิเตอร์แรกของฟังก์ชันถูกส่งไปยัง Microsoft x64 ABI "g" แปลว่า "ไป" เช่น ดำเนินการต่อไป

เคล็ดลับด่วนสำหรับการใช้เบรกพอยต์การบันทึก: พยายามอย่าใช้ส่วนขยายดีบักเกอร์ (คำสั่งที่ขึ้นต้นด้วย "!") เนื่องจากจะทำให้การบันทึกลำดับความสำคัญช้าลง

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

แผนที่ดาว


เรามาเลือกกลุ่มการโหลดหลายๆ กลุ่มกันก่อน

ระบบปฏิบัติการเริ่มทำงานในโมดูล ntoskrnl.exe ซึ่งเป็นแกนหลักของระบบปฏิบัติการ และเพื่อให้เฉพาะเจาะจงยิ่งขึ้น - จากฟังก์ชัน KiSystemStartup() พร้อมทั้งให้ดาวน์โหลด ส่วนประกอบของระบบมันเป็นรากฐานของระบบปฏิบัติการ: การแยกโหมดการทำงาน บริการพื้นฐานสำหรับ แอปพลิเคชันที่กำหนดเองฯลฯ กลุ่มนี้ยังรวมถึงไดรเวอร์ที่ทำเครื่องหมายไว้สำหรับการโหลดระหว่างการเริ่มต้นระบบ โดยสรุป Windows OS เกิดในเชลล์นี้

โหนดถัดไปคือตัวจัดการเซสชัน ( ผู้จัดการเซสชั่น- เขาถูกแนะนำโดยคนแรกหลังจากนั้น กระบวนการของระบบเริ่มต้นใน Windows - smss.exe กระบวนการนี้มีความโดดเด่นในเรื่องความเป็นพื้นเมือง กระบวนการวินโดวส์นั่นคือไม่ได้ใช้ระบบย่อย Win32 ซึ่งโดยทั่วไปยังไม่ได้โหลด กระบวนการนี้ใช้เท่านั้น บริการพื้นเมืองระบบปฏิบัติการผ่าน ntdll.dll ซึ่งเป็นอินเทอร์เฟซโหมดผู้ใช้สำหรับบริการระบบปฏิบัติการ กระบวนการนี้ยังเป็นส่วนประกอบที่เชื่อถือได้ของระบบปฏิบัติการและมีสิทธิ์พิเศษ เช่น สามารถสร้างโทเค็นความปลอดภัยได้ แต่จุดประสงค์หลักคือเพื่อสร้างเซสชันและเริ่มต้นระบบย่อยทั้งแบบกราฟิกและแบบปฏิบัติการต่างๆ (Windows, POSIX) เชลล์นี้ตอบโจทย์ทุกคน

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

กลุ่มบริการกลายเป็นกลุ่มที่ใหญ่ที่สุด มันเป็นหนี้ปริมาณมาก บริการ SuperFetch- นี่คือเรื่องที่พวกเขาบอกว่าเธอโหลดล่วงหน้าในช่วงสุดสัปดาห์ ชุดสำนักงานและต้นสัปดาห์ทำงาน - อบไอน้ำกับของเล่น Superfetch จะโหลดโมดูลจำนวนมากเมื่อระบบเริ่มทำงาน ดังนั้นในภายหลัง “ทุกอย่างจะทำงานได้เร็วขึ้น” และนอกจากเขาแล้วระบบก็เพียงพอแล้ว แอปพลิเคชันบริการและไดรเวอร์ทำงานอัตโนมัติ ฉันคิดว่าทุกคนคงเคยเห็นสแน็ปอินบริการและแอปพลิเคชันแล้ว ดาวแห่งชีวิตดวงนี้นำทุกสิ่งที่จำเป็นมาสู่ระบบและไม่มากนัก

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

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

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

กราฟโหลดถูกสร้างขึ้นสำหรับระบบปฏิบัติการ Windows 7 Enterprise x64 ที่ติดตั้งบนระบบเสมือน เครื่องวีเอ็มแวร์- ด้านล่างนี้คือ ภาพเวกเตอร์สร้างกราฟและไฟล์โดยตรงในรูปแบบ gml ซึ่งคุณสามารถเล่นด้วยโปรแกรมแก้ไขกราฟใดก็ได้

องค์ประกอบทั้งหมดบนหน้าเว็บไม่ได้มีความสำคัญเท่ากันเมื่อโหลด เนื้อหาที่ผู้ใช้มองเห็นจะมีความสำคัญมากกว่าเนื้อหาที่ด้านล่างของหน้า

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

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

ขี้เกียจโหลดใน Chrome

chrome://flags/#enable-lazy-image-loading
  • เปิดใช้งานการตั้งค่าสถานะเพื่อเปิดใช้งานการโหลดรูปภาพแบบ Lazy Loading ใน Chrome
chrome://flags/#enable-lazy-frame-loading
  • เปิดใช้งานการตั้งค่าสถานะเพื่อเปิดใช้งานการโหลดเฟรมแบบ Lazy Loading ใน Chrome
  • รีสตาร์ทเบราว์เซอร์ Chrome ของคุณ

ด้วยเหตุนี้ Chrome จะโหลดรูปภาพและเฟรมในขณะที่ผู้ใช้เลื่อนหน้า

ผู้ใช้ Chrome มีประโยชน์อย่างไร?

เทคนิคการโหลดแบบ Lazy ช่วยเพิ่มเวลาในการโหลดหน้าเว็บบางหน้าโดยการบล็อกองค์ประกอบบางอย่างไม่ให้โหลดเมื่อเปิดหน้า และโหลดเฉพาะเมื่อคุณเลื่อนหน้าเท่านั้น ใน โครมให้แล้วเทคนิคนี้ใช้ได้กับรูปภาพและเฟรมเท่านั้น

การโหลดแบบ Lazy Loading มีประโยชน์สำหรับการเชื่อมต่อที่ช้าเป็นหลัก บนพีซีด้วย การเชื่อมต่อความเร็วสูงเป็นการยากที่จะสังเกตเห็นความแตกต่างบนอินเทอร์เน็ต หากคุณกำลังใช้ ช่องทางที่อ่อนแอเข้าถึง (5 Mbps) หรือน้อยกว่า คุณจะสังเกตเห็นประโยชน์ของการโหลดแบบ Lazy Loading โดยเฉพาะบนหน้าเว็บที่มี จำนวนมากรูปภาพและเฟรม

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

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

พบการพิมพ์ผิด? กด Ctrl + Enter