0xDADA11C7 написав:P.Y. написав:Колись були java-аплети (і перший успіх мови java був пов'язаний саме з ними).
Потім їх нішу зайняли flash-об'єкти (а java в браузерах стала архаїкою, що підключається через одне місце). Всі грали у вбудовані flash-ігри, дивилися flash-мультики, і мало який сайт обходився без ютюбівських flash-плеєрів.
Нарешті, пішов і flash — усі повернули очі в бік html5. Отже, якщо в html/js/css є все необхідне, то тепер ми можемо просто зробити iframe і підвантажити в нього веб-сторінку з функціоналом вбудованого об'єкта. Але стоп, iframe вже також deprecated...
З погляду сучасних технологій, як «цивілізовано» реалізувати контейнер, аналогічний java- чи flash-об'єкту?
Html5 canvas жеж
Що саме я не знаю про canvas? Це такий елемент, аналогічний img, але зображення туди не вантажиться як файл, а може малюватися на ньому джаваскриптом. Ще там різні круті штуки можна робити в 3D-контексті, але поріг входження туди я поки що не здолав...
Але стоп, навіщо мені canvas, якщо я хочу зробити, наприклад, вбудовувану гру «сапер», для якої достатньо div, img та інших тривіальних html-тегів. (Якщо робити це через canvas, то мені доведеться написати, фактично, власний примітивний html-браузер?). При цьому, дуже бажаною є ізоляція даних — користувач не захоче вбудовувати мою іграшку у свою сторінку, якщо скрипти іграшки, при бажанні, можуть читати дані зі сторінки (у т.ч., конфіденційні) і пересилати мені (втім, iframe теж такої ізоляції в повній мірі не забезпечував). Canvas хіба що гарантує, що компоненти іграшки не розковбасяться по всій сторінці, якщо десь виникне конфлікт стилів — це, звичайно, корисно, але цього недостатньо...