Flash เหนือกว่าแอปเพล็ต Java จริงๆหรือ [ปิด]


14

ฉันยังเป็นนักเรียนโดยไม่มีประสบการณ์ชีวิตจริงในการเขียนโปรแกรม ฉันไม่เคยเขียนอะไรที่ใหญ่กว่าโค้ดบรรทัด ~ 5k ฉันเขียนโค้ดในทั้ง Flash และ Java และฉันก็ไม่เข้าใจว่าทำไมคนถึงเขียนแอปพลิเคชันเว็บเช่นเครื่องเล่นวิดีโอ (YouTube เป็นต้น) ใน Flash และไม่ใช่แอปเพล็ต Java ดังนั้นฉันอยากถามคุณโปรแกรมเมอร์ที่มีประสบการณ์ให้คำบางคำที่ฉลาดในเรื่องนี้

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

ดังนั้นโดยพื้นฐานแล้วทำไมคนถึงใช้แฟลชไม่ใช่แอปเล็ต?


4
Java applets, อืม ...
Anto

คำตอบ:


34

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

ประสบการณ์ (จำกัด อย่าง จำกัด ) ของฉันกับ Flash และการพัฒนาแอปเพล็ตยังบอกฉันว่าการพัฒนาแอนิเมชั่นใน Flash นั้นง่ายขึ้น

แล้วก็มีประวัติศาสตร์ Microsoft ไม่ได้ทำจาวาแอพเพล็ตใด ๆ โดยการพัฒนาJVM ของตัวเองและทำให้มันแตกต่างจากของซัน ดังนั้นแอปเพล็ตเดียวกันสามารถทำงานได้ในเบราว์เซอร์เดียวและไม่สามารถสร้างได้ซึ่งทำให้การสร้างแอปเพล็ต Java มีประสิทธิภาพน้อยลง

Java มีเครื่องมือฟรีที่สามารถนำมาใช้แทนการใช้โปรแกรมแก้ไข Flash ที่เป็นกรรมสิทธิ์ซึ่งจำเป็นต้องใช้ในการทำวิดีโอ Flash


4
ตกลงเวลาอุ่นเครื่อง JVM น่าจะเป็นสาเหตุที่ทำให้ Flash กิน Applet-lunch

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

3
Sun ต่อสู้กับ MS-พยายามที่จะทำให้ applets มีความรับผิดชอบน้อยลงที่ศาล ไม่มี MS-Java อยู่อีกแล้วมันถูกห้าม
ผู้ใช้ไม่ทราบ

1
อาจกล่าวได้ว่าความสำเร็จทางกฎหมายของซันทำให้เกิดความล้มเหลวทางเทคนิคในเวทีนั้น เมื่อไม่มี JVM เริ่มต้นใน Windows (ระบบปฏิบัติการสำหรับผู้ใช้ที่มีการกระจายอย่างกว้างขวางที่สุดในตลาด) Flash จึงมีโอกาสที่จะกลายเป็นมาตรฐานที่แท้จริงและยึดติดกับสิ่งนั้น Microsoft ยักไหล่และสร้าง. NET ตามการพิจารณาคดีของ JVM จากนั้น Silverlight ตอบสนองต่อ Flash ในขณะนี้ HTML 5 มีแนวโน้มที่จะล้าสมัยโซลูชันส่วนใหญ่ของลูกค้าเหล่านั้น วงกลมแห่งชีวิต
Jesse C. Slicer

4

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

ข้อดีของ Flash ที่ใหญ่ที่สุดอาจเป็นสภาพแวดล้อมการพัฒนาที่พิเศษกว่าและการสนับสนุนห้องสมุดที่ดีสำหรับกราฟิกแบบเวกเตอร์ ข้อได้เปรียบที่ใหญ่ที่สุดของ Java น่าจะเป็นความสามารถในการทำ 3D จริงด้วยแอปเพล็ตที่ลงนามและ JOGL / LWJGL


2

ค่าใช้จ่ายในการรันไทม์สำหรับ Java Applets (อย่างน้อยใน Windows) นั้นไกลเกินกว่าและช้ากว่า Flash (จากประสบการณ์ของฉัน) และฉันเชื่อว่าภาษา Actionscript อยู่ในระดับที่สูงกว่าของ Java ดังนั้นสิ่งนี้ทำให้ภาพเคลื่อนไหวและการจัดการทรัพยากร (เช่นเพลง / วิดีโอ) ง่ายต่อการพัฒนา


3
ActionScript เป็นเพียง JavaScript ที่มีชื่ออื่น ฉันแน่ใจว่าคนที่ต้องการอาจมีการถกเถียงกันมานานว่าเป็นระดับที่สูงกว่า Java แต่ในระดับภาษา IMO ที่แตกต่างกันมากที่สุดคือการพิมพ์แบบไดนามิกและแบบคงที่
Peter Taylor

2
วันนี้ "Actionscript" โดยทั่วไปหมายถึง AS3 ซึ่งคล้ายกับ Java มากกว่า JavaScript และทำงานคล้ายกันมากกับ Java เนื่องจาก VM JITs (ซึ่งแตกต่างจาก AS2 VM ซึ่งแปลเฉพาะ)
fenomas

2

Java ไม่เคยมี UI ที่น่าสนใจมาก พวกเขาใช้เวลาหลายปีในการป้องกันนามแฝงทำให้อ่านข้อความได้ยาก การเรนเดอร์แบบมัลติเธรด / การโต้ตอบเป็นสิ่งที่ไม่เคยนำมาใช้ในไลบรารี Java UI หลัก ที่เพิ่มความรู้สึกซบเซาแล้ว UI libs เหล่านั้นมี

เนื่องจากจาวาถูกออกแบบมาสำหรับโครงการขนาดใหญ่จึงมีข้อได้เปรียบที่สำคัญเมื่อใช้รหัสที่มีอยู่ในเบราว์เซอร์

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

GWT เสนอ API ค่อนข้างดีในการสร้าง UI พร้อมคลาสและอินเทอร์เฟซระดับสูงสำหรับพาเนลและวิดเจ็ต มันแปลเป็นจาวาสคริปต์ทำให้เป็นผู้ตรวจการที่ดุร้ายสำหรับแอปเพล็ต java และแฟลช


2
Anti-aliasing อยู่ใน Java มาตั้งแต่ 1.2 ฉันคิดว่าเป็นกรณีที่ผู้คนไม่ได้ใช้เวลาในการเรียนรู้วิธีเปิดใช้งาน
Peter Taylor

และ Java 1.2 วันที่จากปี 1998 เรื่องไร้สาระที่เกี่ยวกับการเรนเดอร์ / การโต้ตอบแบบมัลติเธรดคืออะไร? Java เป็นภาษาที่ใช้สอนเธรด กล่าวคือมันมีรูปแบบการทำเกลียวที่สะดวกที่สุดและมีวิวัฒนาการในทุกภาษาวันนี้ (อย่างไรก็ตามแน่นอนว่าไม่ใช่แบบจำลองเกลียวที่สะดวกที่สุดเท่าที่จะเป็นไปได้ ... ) "ความรู้สึกเฉื่อยชา" คืออะไร? มันช้าที่จะโหลดแอปเพล็ แต่เมื่อโหลดแล้วมันให้ความรู้สึกตอบสนองมากที่สุดที่คุณจะได้รับจากเบราว์เซอร์
Evgeni Sergeev

2

นักพัฒนา Flash มีราคาถูกกว่านักพัฒนาจาวาโดยรวม และคุณสามารถค้นหานักออกแบบกราฟิกที่มีความสามารถในการทำงานหรือพร้อมแฟลช ดังนั้นคุณจะได้สินค้าที่สวยกว่าราคาถูกกว่า


2
ไม่มีใครมีค่าเกลือของพวกเขา นักพัฒนาซอฟต์แวร์ที่ดีจะเรียกเก็บราคาจากผู้พัฒนาที่ดี
MaxSan

1

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

คุณออกจาก downvote หรือไม่? บอกเราได้อย่างไรว่าทำไมในลักษณะที่สร้างสรรค์? :)


+1 เพราะคุณพูดถูก: แฟลชเหมาะสำหรับนักออกแบบเว็บไซต์ที่พัฒนาเป็นโปรแกรมเมอร์เว็บ Java ใช้สำหรับโปรแกรมเมอร์ที่มีวิวัฒนาการในการสร้างเว็บไซต์
Kris Van Bael

ถ้าคุณคิดว่ามันควรค่ากับการอัปเดตการตอบสนองของฉันหากคุณคิดว่า +1 :) ฮิฮิ
marc-andre benoit

1
ฉันทำตามธรรมชาติ
Kris Van Bael
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.