Ruffle: Flash Player emülatörü
(ruffle.rs)- Ruffle, Rust ile yazılmış açık kaynaklı bir Flash Player emülatörüdür ve artık varsayılan olarak desteklenmeyen Flash içeriğini modern işletim sistemleri ve tarayıcılarda yeniden çalıştırmayı sağlar
- Hem masaüstünü hem de web’i destekler; web ortamında WebAssembly kullanır
- Rust ve WASM’in sunduğu güvencelerden yararlanarak Flash ile bilinen güvenlik risklerinden kaçınmayı hedefler
- Hem sıradan kullanıcıların hem de web sitesi sahiplerinin hızlıca kurup çalıştırabilmesi için tasarlanmıştır
- MIT/Apache 2.0 lisansı ile sunulan, özgürce kullanılabilen ücretsiz ve açık kaynaklı bir projedir
Flash içeriğini modern ortamlarda çalıştırma
- Ruffle, Flash içeriğini modern ortamlarda çalıştırmak için geliştirilmiş bir Flash Player emülatörüdür
- Modern işletim sistemleri ve tarayıcılarda yerel olarak çalışacak şekilde tasarlanmıştır; ek uğraş gerektirmeden Flash içeriğini yeniden canlandırmaya odaklanır
- Uygulama dili Rust’tır ve hem masaüstünü hem de web’i hedefler
- Web’de çalıştırma için WebAssembly kullanılır
Güvenlik yaklaşımı ve dağıtım koşulları
- Rust ve WASM’in sunduğu güvencelerden yararlanarak Flash’ın sahip olduğu güvenlik açıklarına yol açan tuzaklardan kaçınmaya çalışır
- Hem kullanıcıların hem de web sitesi sahiplerinin hızlıca kurup çalıştırabilmesi için tasarlanmıştır
- MIT/Apache 2.0 lisansı altında dağıtılan ücretsiz ve açık kaynaklı bir projedir
1 yorum
Hacker News yorumları
Okul yıllarında pek çok kişi gibi Flash oyunlarına fazlasıyla zaman harcadım ve oyun tarihinin bir parçasının yok olup gitmesine üzülüyordum
Yine de Ruffle bunun en azından bir kısmını geri getirebilir. Ama iOS'ta hâlâ Wolfenstein RPG oynayacak bir yol olmaması da aklıma geliyor. 2010'da neredeyse sırf o oyunu oynamak için aldığım bir iPod'um var ama pili sonsuza kadar dayanmayacak gibi. Şimdilik gidip biraz Adrenaline Challenge oynayayım
Bunun birkaç yıl daha süreceğini sanıyordum, o arada da zaman bombası olmayan son Flash sürümünü kurup kullanıyordum ama yanılmış olmama sevindim :)
https://github.com/hikari-no-yume/touchHLE/pull/139
New York Historical Society'nin Slavery in New York sergisindeki The Merchant's House sayfası, nesneleri tek tek göstererek “her şeyin kölelikle bağlantılı olduğunu” anlatıyor. Çevrimiçi sergide Flash'a dayanan pek çok bilgi parçası var ve bunlar arasında kişisel olarak en beğendiğim sayfa buydu
Ruffle gibi projeler sayesinde bu tür işler ayakta tutulabiliyor. Sergi artık ortadan kalktığı için bu yazıyı görebilmenin tek yolu bu ve kapsamlı tarih araştırmalarının sonuçlarından yararlanmaya devam etmeyi sağlıyor
Ancak aynı sergi sitesindeki video galleries başarısız oluyor. Bunların, sergiyi gezen kişilerin özel bir kabinde bıraktığı video klipler olması gerekiyor; ilgili yazıları çok okuyunca bunun o dönemde New Yorkluların köleliğe nasıl baktığını gösteren iyi bir kaynak olduğu anlaşılıyor. New York Times'ta geçen “Amatör ev videosunun o garipliği var. Arka plan gürültüsü, uzun sessizlikler, kameradan kaçan bakışlar.” ifadesi de vardı
Yaklaşık 400 videonun yalnızca bir kısmı olsa gerek ama bu sayfada Ruffle düzgün çalışmıyor. İzlemeye çalışırken sekmede kısa süreliğine ses geldiği oldu, yani bir şeyler oluyor gibi, ama videoyu hiç göremedim. Bu konuda daha bilgili biri ne olduğunu biliyorsa iyi olur; bu materyallerin kaybolması yazık olur
VLC veya ffplay gibi araçlarla çevrimdışı oynatmak ve daha modern bir oynatma biçimine dönüştürmek mümkün
AS3 birçok bakımdan ECMAScript 4'tü ve bence zamanının epey ilerisindeydi. Bugün beklediğimiz pek çok şey, Flash Player ekosisteminde zaten sıradan özelliklermiş gibi geliyor
Elbette kâbus gibi anlar da vardı ama JavaScript'in tarayıcılar arasında gerçekten çalıştırılmasının bile zor olduğu günlerde oldukça harika şeyler dağıtabiliyorduk
AS3'ün zamanının ilerisinde olmasından çok, Steve Jobs ve dönemin Adobe CEO'su yüzünden Flash'tan vazgeçince geçmişe dönmüşüz gibi geldi
AS3 gerçekten iyiydi, öğrenmesi kolaydı ve birden fazla geliştiricinin birlikte genişletmesi için güvenliydi. Flash da ömrünün son döneminde oldukça hızlanmıştı ama sonunda her şey tuvalete atıldı gitti
AS3 harika bir dildi. Brendan Eich bunu Lex Fridman röportajında kısaca anmıştı; tarayıcıya giremeyen, JavaScript'in potansiyel halefi olmaya en yakın şey olması ilginçti. Keşke yeni standart o olsaydı
Artık satılmayan yazılımların kamu malı olarak kalmasını zorunlu kılan bir yasa olsa keşke
Yine de Adobe ilgili spesifikasyonları ücretsiz yayımlıyor
Telif hakkı süresini 5 yıl gibi makul bir düzeye indirmek de iyi olurdu. Hatta telif hakkını korumak için her yıl katlanarak artan bir vergi ödemek daha bile iyi olabilir
Bu, yasayı değiştirerek çözülebilir. Örneğin antika yazılım koruma yasası gibi bir şey çıkarılıp herhangi bir yazılımın açık kaynak olarak yayımlanmasına izin verilebilir ve bu yasa kapsamındaki işlemlerle ilgili davalar engellenebilir
Ek teşvikler de verilebilir. Ticari olarak satılmış tüm yazılımların ya kalıcı olarak arşivlenmesi ya da açık kaynak yapılmasının zorunlu tutulması gibi. Kalıcı arşivleme yasal olarak pahalı olacağından birçok yer muhtemelen açık kaynağı seçer
Bu yüzden, kod tabanının büyük bölümlerini kesip çıkarmadan açık kaynak hâline getirmek çoğu zaman mümkün olmuyor; bu iş pahalı ve ortaya çıkan açık kodun faydası da ciddi ölçüde azalıyor.
Yoksa araçlar artık diriltmesi zor bir seviyede olduğu için bu iş fiilen sadece geçmiş kataloğu canlandırmakla mı sınırlı kalacak?
Elbette geçmiş katalog muazzam derecede büyük, ama birçok geliştiricinin Flash oyun yapmayı sevdiğini duydum; bu yüzden biri yeterince inatçı biçimde Flash oyun sahnesini yeniden canlandırmaya çalışsa ilginç olurdu.
Şu anda buna mutlaka ihtiyaç yok ve her gün gelişen umut verici web standartları da var, ama bunlar inatçı insanları hiç durdurmadı. Hâlâ eski Nintendo donanımları için yeni oyun yapmanın yollarını arayan insanlar var.
AS2 istiyorsanız en az CS6'ya kadar geri gitmeniz gerekir; FLA desteği çok daha geniş olduğu için bence CS5.5 daha iyi. CS6'da bunu neden kaldırdıklarını sormayın.
Adobe'a para vermek istemiyorsanız, Adobe araç zincirinin özgür açık kaynak sürümü olan Apache Flex'i kullanabilirsiniz. Elbette bu bir komut satırı derleyici aracıdır ve yalnızca AS3 dosyalarını derler; dolayısıyla grafikleri ayrı üretip bağlamanız gerekir.
Vektör çizimse, SVG'yi SWF'ye dönüştürmenin bir yolunu bulmanız, bunu Flex içinde tuhaf sınıf bildirimi sihirleriyle ana SWF'ye dâhil etmeniz ve bunun yol açtığı ince maskeleme sorunlarıyla uğraşmanız gerekebilir.
Düşük bant genişliğinde de çalışan, ölçeklenebilen, platformlar arası tek dosyalık animasyonlar üreten erişilebilir bir üretim aracıydı.
Biz hâlâ bu kaybın yerini dolduramadık. JavaScript + canvas + web yığını berbat. Ruffle çalışma zamanı hızlı açılabilirse yeni Flash yapmaya başlayabilirim.
macOS'ta ise o sürümlerin hepsi 32 bit olduğu için durum daha karmaşık. M1 Mac'te bir Windows VM kurup Flash'ı onun içinde çalıştırmak daha iyi; Intel Mac'te ise 32 biti destekleyen son sürüm olan macOS Mojave'ı ayrı bir bölüme kurabilirsiniz.
Pratikte WebAssembly içindeki bir VM'de tüm Linux'u çalıştırıyor ve onun içinde resmî lisanslı Adobe Flash Player'ı yürütüyorlar. Ayrıca bu Flash lisansını da ayrı olarak Harman'dan almak gerekiyor gibi görünüyor. Şu anda Flash fikrî mülkiyet hakları onlarda gibi duruyor.
https://labs.leaningtech.com/cheerpx/for-flash
Bunlarla hiçbir ilgim yok, sadece bir ara ilgimi çektiği için bakmıştım.
Ancak Flash'ı çalıştırmak için tüm Linux'u emüle etmiyor. PPAPI'yi emüle ediyor ve Flash Player'ı x86 JIT olan CheerpX üzerinde çalıştırıyor.
Yuri, CXFF mimarisini burada anlatıyor:
https://youtu.be/7JUs4c99-mo?t=1045
Tam bir Linux sistem emülasyonu gerekirse o da var: https://webvm.io
İnternetin ve genç acemi programcıların Flash'la birlikte gerçekten değerli bir aracı kaybettiğini düşünmeden edemiyorum. Güvenlik modelini düzgün çalıştıramamış olmaları üzücü. Flash applet'leri çok yetenekliydi ve giriş eşiği de nadiren bu kadar düşüktü.
Sorunları olduğu doğruydu ama çoğu yazılımın da var; ayrıca Flash gerçekten zamanının 20 yıl kadar ötesindeydi. Flash öldükten sonra web inanılmaz derecede tatsızlaştı.
Benim komplo teorim, Apple ve Google'ın mobil desteği zorunlu kılmak için Adobe'a para verip Flash'ı öldürttüğü yönünde.
Hayatımda bir satır bile Flash yazmadım, yazmak da istemedim; ama Flash sitelerinin ne kadar bozuk olduğu hâlâ kötü bir anı olarak aklımda.
Bileşenler yerel değilmiş gibi davrandığı için sırıtıyordu, Firefox'ta klavye odağı sorunları hiç bitmiyordu, video hızlandırma da düzgün çalışmıyor gibiydi ve pili sömürüyordu. Silmek için Adobe'un Flash uygulamasını açmanız gereken kalıcı çerezler gibi bir gizlilik kâbusu da vardı; ayrıca izin yönetimi ana sistemi ya da tarayıcıyı hiçe sayıyordu.
Neredeyse sürekli yaşanan güvenlik ve kararlılık sorunlarını da unutmak zor. Kişisel olarak Flash'ın ölmesine sevindim.
Flash masaüstünde de pek iyi değildi ama mobilin önem kazandığı dönemde mobilde bundan çok daha kötü olduğu için öldü.
Animasyon yapabiliyordu ama o dönemde çoğumuzun ihtiyaç duyduğu ya da istediği şey bu değildi.
Flash'ı seven kesim yalnızca pazarlama departmanları, oyun geliştiricisi olmak isteyenler ve o oyunları oynayan ergenlerdi.
En azından geliştirici açısından, tek satıcılı ve her şey dâhil bir SDK ile çalışmak, bu node_modules urundan çok daha iyi.
Eski
blogs.adobe.comyazılarına gidince şu canlı hata çıkıyor:Fastly error: unknown domain: blogs.adobe.com. Please check that this domain has
been added to a service.
Bu hata şu URL’den geliyor: https://blogs.adobe.com/asset/2012/06/inside-flash-player-pr...
Yıllar sürdü ama sonunda yalnızca kısmen çalıştı. O dönemde Flash hâlâ tarayıcıda baskındı, ama Gnash ölmeden önce bile kimse onu düzgün şekilde port edemedi
Ruffle’ın bunu nasıl bu kadar hızlı çalıştırabildiğini merak ediyorum