Zaten ne tarif olduğunu . Kullanımı, tüm tarayıcılarda çalışan düşük seviyeli bir dil, bazılarında oldukça hızlı ve bazılarında çok hızlı olmasıdır. Bunu yaptığınız şey, diğer programlama dilleriyle yaptığınız kadar açık uçludur.
Mozilla'nın en çok üzerinde durduğu görünen kullanım senaryosu şudur: Dilleri LLVM arka uçlarıyla (en belirgin şekilde C ve C ++) JavaScript'i Emscripten aracılığıyla derleme yolları vardır. asm.js, Emscripten'in zaten yayınladığı şeye çok yakın olduğundan, bu, Emscripten kodunun (günümüzün JavaScript JIT derleyicilerinde zaten etkileyici şekilde hızlıdır) daha hızlı hale gelmesini ve mevcut kod tabanlarının web'e taşınması hedefini daha da artırmasını sağlar. Yine, bunu tam olarak ne için kullanıyorsunuz kararınız. Oyun taşıma tek kullanımlık bir durumdur (Mozilla'nın görünüşe göre aktif bir şekilde katıldığı), ancak C ve C ++ ile yazılmış ve sayısının bir kısmı web sitesinin kullanışlı olabileceği sayısız şey vardır. Bazıları fizibilite konusunda hiçbir garanti vermeden etrafta salınıyor (artı kendi tasarımlarımın bir kısmını):
- JavaScript'i / web sitelerini daha fazla yapmaya, yeni bir web standardı oluşturmaya gerek kalmadan ve bunu uygulamak için ayrı ayrı tarayıcılara bağlı kalmadan güçlendirmek için genel amaçlı algoritmaları (örn. Zlib, libjpeg, openssl, FFT uygulamaları) taşıma.
- Tercümanları taşıma, böylece JavaScript dışındaki diller tarayıcıda daha az ek yük ve minimum taşıma çabasıyla çalışabilir.
- Asm.js dosyasını daha fazla derleyici için arka uç olarak kullanmak, özellikle JavaScript ile iyi eşleşmeyen ve özelliklerinin çoğuna ve genel giderlerine ihtiyaç duymayanlar. Bir örnek, hafıza tahsisi olmadan hızlı sayısal işler için tasarlanmış bir dil olabilir.
- Asm.js kullanma JIT oluşturmak için de JavaScript. Herhangi bir dili uygulayabilir - örneğin, ActionScript .
- Aynı şekilde, mevcut JIT derleyicilerinin tarayıcıda çalışacak şekilde taşınması (tercümanların taşınması, JS üzerinden etkin bir şekilde genel gider). Bu muhtemelen sadece JIT derleyicileri PyPy'de olduğu gibi otomatik olarak oluşturulduğunda uygulanabilir.