{"id":5175,"date":"2013-02-15T23:56:57","date_gmt":"2013-02-15T22:56:57","guid":{"rendered":"http:\/\/www.gamelab.ch\/?p=5175"},"modified":"2013-02-15T23:56:57","modified_gmt":"2013-02-15T22:56:57","slug":"html-javascript-frameworks-pradestiniert-fur-games","status":"publish","type":"post","link":"https:\/\/www.gamelab.ch\/?p=5175","title":{"rendered":"HTML &amp; Javascript-Frameworks pr\u00e4destiniert f\u00fcr Games"},"content":{"rendered":"<p><a href=\"http:\/\/www.gamelab.ch\/wp-content\/uploads\/Bildschirmfoto-2013-02-15-um-23.47.13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-5187\" title=\"Bildschirmfoto 2013-02-15 um 23.47.13\" src=\"http:\/\/www.gamelab.ch\/wp-content\/uploads\/Bildschirmfoto-2013-02-15-um-23.47.13.png\" alt=\"\" width=\"193\" height=\"86\" \/><\/a> Die Einschl\u00e4ge kommen n\u00e4her in der Browser-Szene auch f\u00fcr die Etablierten. Javascript &#8211; einst die verschm\u00e4hte Sprache &#8211; wird durch Erfindungsreichtum immer interessanter &#8211; auch in einst nicht gedachten Bereichen. Zwar wird Javascript+WebGL nicht morgen die Welt \u00fcbernehmen &#8211; Microsoft wird WebGL (DirectX muss leben) nicht unterst\u00fctzen &#8211; und dennoch gibt es gerade im Infrastrukturbereich f\u00fcr Games mehr und mehr \u00a0interessante Ans\u00e4tze. Dabei arbeiten einige der Frameworks gar nicht mit Html5, sondern lassen sich mit HTML auch sonst gl\u00e4nzend in Projekte integrieren. Viele HTML5 Technologien sind schlicht und ergreifend nicht ausgefreift bzw. nicht implementiert oder nur so marginal implementiert, dass sie kaum nutzbar sind (Speicherungsm\u00f6glichkeiten, Direkte-TCP-Connections etc.)<br \/>\n<strong><!--more-->Comet<\/strong><br \/>\nUnter Comet sind diverse Technologien summiert, die direkt Kommunikation Webserver to Client nach dem Laden der Seite erlauben (only one-way). Dabei nutzt diese Technologie den alten HTML1.1-Standard. Die Verbindung Server-Client l\u00e4sst sich offen halten (immer wieder kleine Pakete schicken) und so kann man, auch noch nachtr\u00e4glich in den Channel Daten zu senden. Kombiniert man dies mit einem iFrame, l\u00e4sst sich ein Streaming Webserver-Client erstellen, das auf allen Browsern l\u00e4uft &#8211; hier und heute. Es gibt inzwischen diverse Server, die so Streamen erlauben.<br \/>\n<a href=\"http:\/\/en.wikipedia.org\/wiki\/Comet_(programming)  \" target=\"_blank\">http:\/\/en.wikipedia.org\/wiki\/Comet_(programming)<\/a><br \/>\n<strong>Firebase<\/strong><br \/>\nFirebase erm\u00f6glicht \u00e4hnlich das Pushen (und auch Synchronisieren) von Daten an verschiedene Webseiten. Es steht dabei ein zentraler Server (je nach Lizenz gratis) zur Verf\u00fcgung. Callback einrichten und los geht es.<br \/>\n<a href=\"https:\/\/www.firebase.com  \" target=\"_blank\">https:\/\/www.firebase.com<\/a><br \/>\n<strong>PeerJS<\/strong><br \/>\n<strong>Peer-To-Peer-Kommunikation von Browser zu Browser \u00fcber einen Server (node.js) oder den eigenen Server? PeerJs soll es m\u00f6glich machen. Es ist Zeit es auszuprobieren.<\/strong><br \/>\n<strong><a href=\"http:\/\/peerjs.com\" target=\"_blank\">http:\/\/peerjs.com<\/a><\/strong><br \/>\n<span style=\"font-weight: bold;\">jComponentGameEngine<\/span><br \/>\nAus der Schweiz gibt es ebenfalls ein Projekt (vom Autor dieses Artikels): eine Componenten-basierte-HTML-GameEngine. Bei der Entwicklung zeigt sich allerdings auch, dass gerade der HTML5-Standard teilweise rudiment\u00e4r bis gar nicht unterst\u00fctzt wird: Etwa das Speichern von Daten im Browser wird nur in einigen wenigen Browsern unterst\u00fctzt und das f\u00fchrt dann auch zum Problem: &#8222;Wie soll man damit eine HTML-basierte-Standalone-Application machen?<br \/>\n<a href=\"https:\/\/github.com\/t00cg\/jComponentGameEngine  \" target=\"_blank\">https:\/\/github.com\/t00cg\/jComponentGameEngine<\/a><br \/>\nMehr zum Thema:<br \/>\n<a href=\"http:\/\/www.gamelab.ch\/?p=3478\" target=\"_blank\">http:\/\/www.gamelab.ch\/?p=3478<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Einschl\u00e4ge kommen n\u00e4her in der Browser-Szene auch f\u00fcr die Etablierten. Javascript &#8211; einst die verschm\u00e4hte Sprache &#8211; wird durch Erfindungsreichtum immer interessanter &#8211; auch in einst nicht gedachten Bereichen. Zwar wird Javascript+WebGL nicht morgen die Welt \u00fcbernehmen &#8211; Microsoft &hellip; <a href=\"https:\/\/www.gamelab.ch\/?p=5175\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,5,8,1],"tags":[],"class_list":["post-5175","post","type-post","status-publish","format-standard","hentry","category-code","category-game","category-gamedesign","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/5175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5175"}],"version-history":[{"count":0,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/5175\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}