กลับไปหน้าบทความ

อ่าน 4 นาที

แอปพลิเคชันแบบพกพา

แอปพลิเคชันแบบพกพา ( แอปแบบพกพา ) บางครั้งเรียกว่าซอฟต์แวร์แบบสแตนด์อโลนคือโปรแกรมคอมพิวเตอร์ที่ออกแบบมาเพื่อใช้งานโดยไม่ต้องเปลี่ยนแปลงไฟล์อื่นหรือต้องติดตั้งซอฟต์แวร์อื่น...

แอปพลิเคชันแบบพกพา

( เรียนรู้วิธีและเวลาในการลบข้อความนี้ )
แฟลชไดรฟ์ USBสามารถพกพาแอปพลิเคชันต่างๆ ได้

แอปพลิเคชันแบบพกพา ( แอปแบบพกพา ) บางครั้งเรียกว่าซอฟต์แวร์แบบสแตนด์อโลนคือโปรแกรมคอมพิวเตอร์ที่ออกแบบมาเพื่อใช้งานโดยไม่ต้องเปลี่ยนแปลงไฟล์อื่นหรือต้องติดตั้งซอฟต์แวร์อื่น ด้วยวิธีนี้จึงสามารถเพิ่ม เรียกใช้งาน และลบออกจากคอมพิวเตอร์ที่เข้ากันได้ทุกเครื่องได้อย่างง่ายดายโดยไม่ต้องตั้งค่าหรือมีผลข้างเคียง[ 1 ]

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

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

แอปพลิเคชันบางตัวที่ไม่รองรับการพกพาโดยค่าเริ่มต้น อาจรองรับการพกพาได้ผ่านกลไกอื่นๆ ซึ่งที่พบได้บ่อยที่สุดคือ การใช้ พารามิเตอร์ในบรรทัดคำสั่งตัวอย่างเช่น/portableการสั่งให้โปรแกรมทำงานเหมือนโปรแกรมที่พกพาได้ หรือ--cfg=/path/inifileการระบุตำแหน่งของไฟล์การกำหนดค่า

เช่นเดียวกับแอปพลิเคชันอื่นๆ แอปพลิเคชันแบบพกพาต้องเข้ากันได้กับฮาร์ดแวร์และระบบปฏิบัติการ ของระบบ คอมพิวเตอร์

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

แอปพลิเคชัน Windows แบบพกพา

แอปพลิเคชันแบบพกพาส่วนใหญ่จะไม่ทิ้งไฟล์หรือการตั้งค่าไว้ในคอมพิวเตอร์โฮสต์ หรือแก้ไขระบบที่มีอยู่และการกำหนดค่าของระบบ แอปพลิเคชันอาจไม่เขียนลงในรีจิสทรีของ Windows [ 3 ]หรือจัดเก็บไฟล์การกำหนดค่า (เช่นไฟล์ INI ) ในโปรไฟล์ ของผู้ใช้ แต่ในปัจจุบัน แอปพลิเคชันแบบพกพาจำนวนมากทำเช่นนั้น อย่างไรก็ตาม หลายแอปพลิเคชันยังคงจัดเก็บไฟล์การกำหนดค่าไว้ในไดเร็กทอรีแบบพกพา อีกความเป็นไปได้หนึ่ง เนื่องจากเส้นทางไฟล์มักจะแตกต่างกันในคอมพิวเตอร์ที่เปลี่ยนไปเนื่องจากการเปลี่ยนแปลงในการกำหนดตัวอักษรไดรฟ์คือ แอปพลิเคชันแบบพกพาอาจจัดเก็บไฟล์เหล่านั้นใน รูปแบบ สัมพัทธ์ในขณะที่บางแอปพลิเคชันมีตัวเลือกเพื่อรองรับพฤติกรรมนี้ แต่โปรแกรมจำนวนมากไม่ได้ออกแบบมาเพื่อทำเช่นนั้น เทคนิคทั่วไปสำหรับโปรแกรมดังกล่าวคือการใช้โปรแกรมตัวเรียกใช้งานเพื่อคัดลอกการตั้งค่าและไฟล์ที่จำเป็นไปยังคอมพิวเตอร์โฮสต์เมื่อแอปพลิเคชันเริ่มต้น และย้ายกลับไปยังไดเร็กทอรีของแอปพลิเคชันเมื่อปิด

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

วิธีการเดียวกันนี้ใช้สำหรับส่วนประกอบแอปพลิเคชันแต่ละรายการ: ไลบรารีรันไทม์ ส่วนประกอบ COMหรือActiveXไม่ใช่แค่สำหรับแอปพลิเคชันทั้งหมด[ 4 ]ผลที่ได้คือ เมื่อส่วนประกอบแต่ละรายการถูกพอร์ตในลักษณะดังกล่าว ส่วนประกอบเหล่านั้นจะสามารถ: รวมเข้ากับแอปพลิเคชันพกพาเดิม สร้างอินสแตนซ์ซ้ำๆ (ติดตั้งเสมือน) ด้วยการกำหนดค่า/การตั้งค่าที่แตกต่างกันบนระบบปฏิบัติการ เดียวกัน (OS) โดยไม่มีข้อขัดแย้งระหว่างกัน เนื่องจากส่วนประกอบที่พอร์ตแล้วไม่ส่งผลกระทบต่อเอนทิตีที่เกี่ยวข้องที่ได้รับการป้องกันโดยระบบปฏิบัติการ (รีจิสทรีและไฟล์) ส่วนประกอบเหล่านั้นจึงไม่ต้องการสิทธิ์ผู้ดูแลระบบสำหรับการติดตั้งและการจัดการ

ไมโครซอฟต์เห็นความจำเป็นของรีจิสทรีเฉพาะแอปพลิเคชันสำหรับระบบปฏิบัติการ Windows มาตั้งแต่ปี 2005 [ 5 ]ในที่สุดก็ได้รวมเทคโนโลยีนี้บางส่วน โดยใช้เทคนิคที่กล่าวถึงข้างต้น ผ่านฐานข้อมูลความเข้ากันได้ของแอปพลิเคชัน[ 6 ]โดยใช้ไลบรารีโค้ด Detours [ 7 ] เข้ากับ Windows XP แต่ไม่ได้ทำให้เทคโนโลยีนี้พร้อม ใช้ งานผ่าน APIของระบบ

ความสามารถในการพกพาบนระบบที่คล้าย Unix

โปรแกรมที่เขียนโดยคำนึงถึงพื้นฐานแบบ Unix มักจะไม่ตั้งสมมติฐานใดๆ ในขณะที่โปรแกรม Windows หลายโปรแกรมจะถือว่าผู้ใช้เป็นผู้ดูแลระบบซึ่งเป็นเรื่องที่พบได้ทั่วไปในยุคWindows 95 / 98 / ME (และในระดับหนึ่งในWindows XP / 2000แต่ไม่ใช่ในWindows VistaหรือWindows 7 ) แต่การกระทำเช่นนั้นจะทำให้เกิดข้อผิดพลาด "Permission denied" ในสภาพแวดล้อมแบบ Unix เนื่องจากผู้ใช้จะอยู่ในสถานะที่ไม่ได้รับสิทธิ์บ่อยกว่า ดังนั้น โปรแกรมจึงมักถูกออกแบบมาให้ใช้HOMEตัวแปรสภาพแวดล้อมในการจัดเก็บการตั้งค่า (เช่น$HOME/.w3mสำหรับ เบราว์เซอร์ w3m ) ตัวเชื่อมโยงแบบไดนามิกจะให้ตัวแปรสภาพแวดล้อมLD_LIBRARY_PATHที่โปรแกรมสามารถใช้เพื่อโหลดไลบรารีจากไดเร็กทอรีที่ไม่ใช่มาตรฐาน สมมติว่า/mntมีโปรแกรมแบบพกพาและการกำหนดค่าอยู่ บรรทัดคำสั่งอาจมีลักษณะดังนี้:

HOME=/mnt/home/user LD_LIBRARY_PATH=/mnt/usr/lib /mnt/usr/bin/w3m www.example.com

แอปพลิเคชัน Linux ที่ไม่จำเป็นต้องมีการโต้ตอบกับผู้ใช้ (เช่น การปรับสคริปต์หรือตัวแปรสภาพแวดล้อม) บนเส้นทางไดเร็กทอรีที่แตกต่างกัน สามารถทำได้ด้วยตัวเลือกการเชื่อมโยงGCC ซึ่งอนุญาตให้ค้นหาเส้นทางไลบรารีแบบสัมพัทธ์[ 8 ]$ORIGIN

ไม่ใช่ทุกโปรแกรมที่จะเคารพการตั้งค่านี้ บางโปรแกรมจะไม่สนใจตัวแปร $HOME เลย และใช้วิธีค้นหาผู้ใช้ใน/etc/passwdไดเร็กทอรีโฮมแทน ซึ่งจะทำให้ไม่สามารถพกพาไปยังระบบอื่นได้

นอกจากนี้ยังมีรูปแบบแพ็กเกจข้ามดิสทริบิวชันที่ไม่ต้องใช้สิทธิ์ผู้ดูแลระบบในการทำงาน เช่นAutopackage , AppImageหรือ CDE แต่ได้รับการยอมรับและการสนับสนุนอย่างจำกัดในชุมชน Linux ในช่วงทศวรรษ 2000 [ 9 ] [ 10 ] [ 11 ]ประมาณปี 2015 แนวคิดเรื่องการบรรจุแบบพกพาและไม่ขึ้นกับดิสทริบิวชันสำหรับระบบนิเวศ Linux ได้รับความสนใจมากขึ้นเมื่อLinus Torvaldsได้พูดคุยเกี่ยวกับหัวข้อนี้ในงานDebConf 2014 และต่อมาได้ให้การรับรองAppImageสำหรับแอปพลิเคชันบันทึกการดำน้ำSubsurfaceของ เขา [ 12 ] [ 13 ] [ 14 ]ตัวอย่างเช่นMuseScoreและKritaได้ดำเนินการตามมาในปี 2016 และเริ่มใช้การสร้าง AppImage สำหรับการติดตั้งซอฟต์แวร์[ 15 ] [ 16 ] RedHat ได้เปิดตัว ระบบ Flatpak ในปี 2016 ซึ่งเป็นผู้สืบทอด โครงการ glick ของ Alexander Larsson ซึ่งได้รับแรงบันดาลใจจาก klik (ปัจจุบันเรียกว่า AppImage) [ 17 ]ในทำนองเดียวกันCanonical ได้ออก แพ็กเกจ SnapสำหรับUbuntuและ Linux ดิสทริบิวชันอื่นๆ อีกมากมาย ในปี 2016

แอปพลิเคชัน Mac จำนวนมากที่สามารถติดตั้งได้โดยการลากและวางนั้นสามารถพกพาได้โดยธรรมชาติในรูปแบบของชุดแอปพลิเคชัน Mac [ 18 ]ตัวอย่างเช่นMozilla Firefox , SkypeและGoogle Chromeซึ่งไม่จำเป็นต้องเข้าถึงผู้ดูแลระบบและไม่จำเป็นต้องวางไว้ในพื้นที่ส่วนกลางที่จำกัด แอปพลิเคชันที่วางไว้ใน/Users/username/Applications( ~/Applications) จะถูกลงทะเบียนกับ macOS LaunchServices ในลักษณะเดียวกับแอปพลิเคชันที่วางไว้ใน/Applicationsโฟลเดอร์หลัก ตัวอย่างเช่น การคลิกขวาที่ไฟล์ใน Finder แล้วเลือก "เปิดด้วย..." จะแสดงแอปพลิเคชันที่มีอยู่ในทั้ง /Applications และ ~/Applications นักพัฒนาสามารถสร้างตัวติดตั้งผลิตภัณฑ์ Mac ที่อนุญาตให้ผู้ใช้ทำการติดตั้งในไดเร็กทอรีโฮม ซึ่งมีป้ายกำกับว่า "ติดตั้งสำหรับฉันเท่านั้น" ในอินเทอร์เฟซผู้ใช้ของตัวติดตั้ง[ 19 ]การติดตั้งดังกล่าวจะดำเนินการในฐานะผู้ใช้

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Portable_application&oldid=1360704203 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ แอปพลิเคชันแบบพกพา

แอปพลิเคชันแบบพกพา ( แอปแบบพกพา ) บางครั้งเรียกว่าซอฟต์แวร์แบบสแตนด์อโลนคือโปรแกรมคอมพิวเตอร์ที่ออกแบบมาเพื่อใช้งานโดยไม่ต้องเปลี่ยนแปลงไฟล์อื่นหรือต้องติดตั้งซอฟต์แวร์อื่น...

แอปพลิเคชัน Windows แบบพกพา

แอปพลิเคชันแบบพกพาส่วนใหญ่จะไม่ทิ้งไฟล์หรือการตั้งค่าไว้ในคอมพิวเตอร์โฮสต์ หรือแก้ไขระบบที่มีอยู่และการกำหนดค่าของระบบ แอปพลิเคชันอาจไม่เขียนลงใน รีจิสทรีของ Windows [ 3 ] หรือจัดเก็บไฟล์การกำหนดค่า (เช่น ไฟล์ INI ) ใน โปรไฟล์ ของผู้ใช้ แต่ในปัจจุบัน...

ความสามารถในการพกพาบนระบบที่คล้าย Unix

โปรแกรมที่เขียนโดยคำนึงถึงพื้นฐานแบบ Unix มักจะไม่ตั้งสมมติฐานใดๆ ในขณะที่โปรแกรม Windows หลายโปรแกรมจะถือว่าผู้ใช้เป็น ผู้ดูแลระบบ ซึ่งเป็นเรื่องที่พบได้ทั่วไปในยุค Windows 95 / 98 / ME (และในระดับหนึ่งใน Windows XP / 2000 แต่ไม่ใช่ใน Windows Vista หรือ...

ดูเพิ่มเติม

โหลดไดรฟ์ รายชื่อซอฟต์แวร์แบบพกพา วินเพนแพ็ค ผู้สร้างแอปพลิเคชันแบบพกพา PortableApps.