1.1 --- a/minesweeper/src/main/java/org/apidesign/demo/minesweeper/Main.java Fri Aug 29 16:32:03 2014 +0200
1.2 +++ b/minesweeper/src/main/java/org/apidesign/demo/minesweeper/Main.java Fri Aug 29 19:04:17 2014 +0200
1.3 @@ -23,6 +23,7 @@
1.4 */
1.5 package org.apidesign.demo.minesweeper;
1.6
1.7 +import java.util.Locale;
1.8 import net.java.html.boot.BrowserBuilder;
1.9 import org.netbeans.api.nbrwsr.OpenHTMLRegistration;
1.10 import org.openide.awt.ActionID;
1.11 @@ -39,6 +40,7 @@
1.12 public static void main(String... args) throws Exception {
1.13 BrowserBuilder.newBrowser().
1.14 loadPage("pages/index.html").
1.15 + locale(Locale.getDefault()).
1.16 loadClass(MinesModel.class).
1.17 invoke("main", args).
1.18 showAndWait();
2.1 --- a/minesweeper/src/main/webapp/pages/index.html Fri Aug 29 16:32:03 2014 +0200
2.2 +++ b/minesweeper/src/main/webapp/pages/index.html Fri Aug 29 19:04:17 2014 +0200
2.3 @@ -185,22 +185,22 @@
2.4 <div class="caption">
2.5 <h3>iBrwsr</h3>
2.6 <p>
2.7 - This application can also be packaged to run on your iPhone
2.8 - or iPad. It is not yet available on AppStore, but it will.
2.9 + This application has been packaged to run on your iPhone
2.10 + or iPad and made available on AppStore.
2.11 In this mode it
2.12 uses <a target="_blank" href="http://www.robovm.org">RoboVM</a>
2.13 virtual machine to execute Java code natively.
2.14 It uses iOS WebView to display the UI and execute
2.15 generated JavaScript. Both these components are
2.16 bound together via <a target="_blank"
2.17 - href="http://wiki.apidesign.org/wiki/IBrwsr">
2.18 + href="http://wiki.apidesign.org/wiki/IBrwsr">
2.19 iBrwsr</a> library.
2.20 </p>
2.21 <p>
2.22 - <a href="http://wiki.apidesign.org/wiki/IBrwsr"
2.23 + <a href="https://itunes.apple.com/us/app/fair-minesweeper/id903688146"
2.24 target="_blank"
2.25 class="btn btn-primary" role="button"
2.26 - >Learn more »</a>
2.27 + >Install »</a>
2.28 </p>
2.29 </div>
2.30 </div>
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/minesweeper/src/main/webapp/pages/index_cs.html Fri Aug 29 19:04:17 2014 +0200
3.3 @@ -0,0 +1,247 @@
3.4 +<!--
3.5 +
3.6 + The MIT License (MIT)
3.7 +
3.8 + Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
3.9 +
3.10 + Permission is hereby granted, free of charge, to any person obtaining a copy
3.11 + of this software and associated documentation files (the "Software"), to deal
3.12 + in the Software without restriction, including without limitation the rights
3.13 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
3.14 + copies of the Software, and to permit persons to whom the Software is
3.15 + furnished to do so, subject to the following conditions:
3.16 +
3.17 + The above copyright notice and this permission notice shall be included in
3.18 + all copies or substantial portions of the Software.
3.19 +
3.20 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3.21 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3.22 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
3.23 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3.24 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3.25 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
3.26 + THE SOFTWARE.
3.27 +
3.28 +-->
3.29 +<!DOCTYPE html>
3.30 +<html>
3.31 + <head>
3.32 + <title>Férové miny</title>
3.33 + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3.34 + <link href="bootstrap.css" rel="stylesheet">
3.35 + <link href="bootstrap-responsive.css" rel="stylesheet">
3.36 + <link href="mines.css" rel="stylesheet">
3.37 + <!-- Target tablets -->
3.38 + <link href="mines-tablet-large.css"
3.39 + media="(min-width:640px), (min-height:660px)"
3.40 + rel="stylesheet" />
3.41 + <link href="mines-tablet-small.css"
3.42 + media="(min-width:510px) and (max-width:640px), (min-height:520px) and (max-height:660px)"
3.43 + rel="stylesheet" />
3.44 + <!-- Target phones -->
3.45 + <link href="mines-phone-large.css"
3.46 + media="(min-width:410px) and (max-width:510px), (min-height:400px) and (max-height:520px)"
3.47 + rel="stylesheet" />
3.48 + <link href="mines-phone-small.css"
3.49 + media="(min-width:300px) and (max-width:410px), (min-height:300px) and (max-height:400px)"
3.50 + rel="stylesheet" />
3.51 + <link href="mines-phone-smaller.css"
3.52 + media="(max-width:300px), (max-height:300px)"
3.53 + rel="stylesheet" />
3.54 + </head>
3.55 + <body>
3.56 + <div class="navbar">
3.57 + <div class="navbar-inner">
3.58 + <a id="apptitle" class="brand" href="#" data-bind="click: showHelp">
3.59 + <img height="20" width="20" src="DukeSweeper.png">
3.60 + <span class="hidden-phone">Miny</span>
3.61 + </a>
3.62 + <button class="btn btn-default navbar-btn" disabled="true" data-bind="disable: false, click: normalGame">
3.63 + <span>↻</span>
3.64 + <span class="info-text">Hra</span>
3.65 + </button>
3.66 + <button class="hidden-phone btn btn-default navbar-btn" disabled="true" data-bind="disable: !gameInProgress(), click: giveUp ">
3.67 + <span>✗</span>
3.68 + <span>Vzdát</span>
3.69 + </button>
3.70 + <button class="btn btn-default navbar-btn" disabled="true" data-bind="disable: !gameInProgress(), click: markMine">
3.71 + <span>⚠</span>
3.72 + <span class="info-text">Označkovat</span>
3.73 + </button>
3.74 + </div>
3.75 + </div>
3.76 +
3.77 +
3.78 + <script type="text/html" id="field">
3.79 + <center>
3.80 + <table class="field" data-bind="css: gameStyle">
3.81 + <tbody>
3.82 + <!-- ko foreach: rows -->
3.83 + <tr>
3.84 + <!-- ko foreach: columns -->
3.85 + <td data-bind="css: style, click: $parents[1].click" >
3.86 + <div></div>
3.87 + </td>
3.88 + <!-- /ko -->
3.89 + </tr>
3.90 + <!-- /ko -->
3.91 + </tbody>
3.92 + </table>
3.93 + </center>
3.94 + </script>
3.95 +
3.96 + <div data-bind="template: { name : 'field', if: fieldShowing }"></div>
3.97 +
3.98 + <div class="jumbotron control-label" data-bind="visible: !fieldShowing() ">
3.99 + <div class="container">
3.100 + <h1>Ukázka HTML/Java technologie</h1>
3.101 +
3.102 + <p>Na první pohled se jedná o staré dobré <em>miny</em>.
3.103 + Bližší pohled však odhalí revoluční technologii, jež
3.104 + umožňuje programovat logiku aplikace v <strong>Javě</strong>
3.105 + a uživatelské rozhraní definovat v <strong>HTML</strong>.
3.106 + To vše na jakémkoli zařízení schopném zobrazit moderní
3.107 + <strong>HTML5</strong> prohlížeč.
3.108 + </p>
3.109 + <p><a class="btn btn-primary btn-lg" role="button"
3.110 + target="_blank" href="http://html.java.net"
3.111 + >Navštívit stránky projektu</a>
3.112 + </p>
3.113 + </div>
3.114 + </div>
3.115 +
3.116 + <div class="container" data-bind="visible: !fieldShowing()">
3.117 + <div>
3.118 + <div class="col-md-4">
3.119 + <h2>Miny</h2>
3.120 + <p>
3.121 + Odhalte deset políček jež skrývají miny
3.122 + a označte je znakem ⚠.
3.123 + Dotykem políčka se zjistí,
3.124 + zda-li je na něm mina či kolik min se
3.125 + nachází v sousedních osmi políčkách.
3.126 + Nespoléhejte na náhodu,
3.127 + tato verze min dokáže detekovat
3.128 + náhodné hádání a v takovém případě přerovnat miny.
3.129 + Tato hra je <b>fér</b>!
3.130 + </p>
3.131 + <p><a class="btn btn-default" href="#" data-bind="click: normalGame"role="button">Hrát »</a></p>
3.132 + </div>
3.133 + <div class="col-md-4">
3.134 + <h2>Dokumentace</h2>
3.135 + <p>
3.136 + Chcete-li psát aplikace jako je tato
3.137 + (tedy používat <strong>Javu</strong> a <strong>HTML</strong>)
3.138 + můžete se nyní dozvědět něco o knihovnách, které
3.139 + to umožňují. Následující odkaz Vás zavede
3.140 + stránky s dokumentací.
3.141 + </p>
3.142 + <p><a class="btn btn-default"
3.143 + target="_blank" href="http://bits.netbeans.org/html+java/"
3.144 + role="button">Více »</a></p>
3.145 + </div>
3.146 + <div class="col-md-4">
3.147 + <h2>Verze pro prohlížeč</h2>
3.148 + <p>
3.149 + Tato technologie je primárně určena pro
3.150 + klasické osobní počítače či pro tablety a telefony.
3.151 + Přesto je však možné spustit tu samou aplikaci
3.152 + s nezměným kódem v prohlížeči. Je k tomu potřeba
3.153 + implementace <b>Java</b> virtuálního stroje zvaná
3.154 + <a href="http://bck2brwsr.apidesign.org">bck2brwsr</a>.
3.155 + </p>
3.156 + <p><a class="btn btn-default"
3.157 + target="_blank" href="http://xelfi.cz/minesweeper/bck2brwsr/"
3.158 + role="button">Vyzkoušet »</a></p>
3.159 + </div>
3.160 + </div>
3.161 + </div>
3.162 +<div class="container" data-bind="visible: !fieldShowing()">
3.163 + <div class="col-sm-6 col-md-4">
3.164 + <div class="thumbnail">
3.165 + <img src="android_logo.jpg" width="120" height="120" alt="Android">
3.166 + <div class="caption">
3.167 + <h3>DlvkBrwsr</h3>
3.168 + <p>
3.169 + Tato apliace byla přeložena pro Váš telefon se systémem Android
3.170 + a je dostupná na Google Play! tržišti. V této konfiguraci
3.171 + se používá virtuální stroj Dalvik pro spouštění <b>Java</b> kódu
3.172 + a Androidí WebView k zobrazení uživatelského rozhraní a
3.173 + interpretaci generovaného JavaScriptu. Tyto komponenty jsou
3.174 + spojeny dohromady pomocí <a href="http://wiki.apidesign.org/wiki/DlvkBrwsr">
3.175 + DlvkBrwsr</a> technologie.
3.176 + </p>
3.177 + <p>
3.178 + <a href="https://play.google.com/store/apps/details?id=org.apidesign.demo.minesweeper"
3.179 + target="_blank"
3.180 + class="btn btn-primary" role="button"
3.181 + >Instalovat »</a>
3.182 + </p>
3.183 + </div>
3.184 + </div>
3.185 + </div>
3.186 + <div class="col-sm-6 col-md-4">
3.187 + <div class="thumbnail">
3.188 + <img src="ios_logo.jpg" width="120" height="120" alt="Android">
3.189 + <div class="caption">
3.190 + <h3>iBrwsr</h3>
3.191 + <p>
3.192 + Tato aplikace byla přeložena a zabalena tak, aby běžela na
3.193 + Vašem iPhonu
3.194 + nebo iPadu a je dostupná na tržišti AppStore.
3.195 + V této konfiguraci se používá
3.196 + virtuální stroj <a target="_blank" href="http://www.robovm.org">RoboVM</a>
3.197 + pro přeložení <b>Java</b> kódu do nativního formátu.
3.198 + Pro zobrazení a provádění vygenerovaného JavaScriptu
3.199 + se využívá iOS WebView. Obě tyto komponenty jsou spojeny
3.200 + pomocí <a target="_blank"
3.201 + href="http://wiki.apidesign.org/wiki/IBrwsr">
3.202 + iBrwsr</a> knihovny.
3.203 + </p>
3.204 + <p>
3.205 + <a href="https://itunes.apple.com/us/app/fair-minesweeper/id903688146"
3.206 + target="_blank"
3.207 + class="btn btn-primary" role="button"
3.208 + >Instalovat »</a>
3.209 + </p>
3.210 + </div>
3.211 + </div>
3.212 + </div>
3.213 + <div class="col-sm-6 col-md-4">
3.214 + <div class="thumbnail">
3.215 + <img src="netbeans_logo.jpg" width="120" height="120" alt="Android">
3.216 + <div class="caption">
3.217 + <h3>Vyvíjejte své aplikace!</h3>
3.218 + <p>
3.219 + Tuto aplikace lze zabalit jako
3.220 + <a href="http://plugins.netbeans.org/plugin/53864/"
3.221 + target="_blank"
3.222 + >rozšíření pro NetBeans</a> a nebo
3.223 + lze použít vývojové prostředí
3.224 + <a href="http://www.netbeans.org" target="_blank">
3.225 + NetBeans</a> k vytvoření své vlastní aplikace,
3.226 + jež bude využívat synergie
3.227 + <em>HTML</em> a <em>Javy</em>.
3.228 + Pište své aplikace jednou a zobrazte je na
3.229 + každém zařízení schopném zobrazit <em>HTML</em>!
3.230 + </p>
3.231 + <p>
3.232 + <a href="http://wiki.apidesign.org/wiki/DukeScriptInNetBeans"
3.233 + target="_blank"
3.234 + class="btn btn-primary" role="button"
3.235 + >Vyvíjejte »</a>
3.236 + </p>
3.237 + </div>
3.238 + </div>
3.239 + </div>
3.240 +</div>
3.241 + <!-- boot bck2brwsr -->
3.242 + <script type="text/javascript" src="bck2brwsr.js"></script>
3.243 + <script>
3.244 + var vm = bck2brwsr('minesweeper.js');
3.245 + var c = vm.loadClass('org.apidesign.demo.minesweeper.MinesModel');
3.246 + c.invoke('main');
3.247 + </script>
3.248 +
3.249 + </body>
3.250 +</html>
4.1 --- a/pom.xml Fri Aug 29 16:32:03 2014 +0200
4.2 +++ b/pom.xml Fri Aug 29 19:04:17 2014 +0200
4.3 @@ -13,7 +13,7 @@
4.4 </parent>
4.5 <properties>
4.6 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4.7 - <net.java.html.version>0.8.3</net.java.html.version>
4.8 + <net.java.html.version>1.0-SNAPSHOT</net.java.html.version>
4.9 <nb.html.version>0.8.3</nb.html.version>
4.10 <bck2brwsr.version>0.9</bck2brwsr.version>
4.11 <teavm.version>0.1</teavm.version>