Mobile Development
Environment Setup
November 2015 - Shift in direction
- IntelliJ as Integrated Development Environment (IDE)
- Angular as framework for Single-Page Application (SPA)
- UI-Bootstrap for UI elements in JavaScript (along with styling)
- Guice for Dependency Injection (DI)
Canonical Project is Clue Ride.
Clue Ride uses a number of technologies that are moving toward encrypted data transfer and often require SSL:
- Webcam's use of the camera.
- GPS information
- Preferences.
For the sake of playing the game in the field, an encrypted session is more safe.
Setting up SSL for development, test and production
Feb 2015 under Eclipse
Also see Eclipse Setup for what I've done to get Eclipse Luna going.
Preparation
- This was arrived at after following a particular sequence to install the tools and finding that Eclipse would no longer come up.
- This document helps lay out the steps listed below: https://code.google.com/p/google-web-toolkit/wiki/WorkingWithMaven
NOTE: The "Working With Maven" link mentions Mojo's gwt-maven-plugin. This is a maven plugin that can be brought in using the POM.
Installation Steps
(confirming these steps under Luna in March 2015)
- GPE stands for Google Plugin for Eclipse. This is the starting point, but there will be a couple of other GWT pieces that come in for the FireFox Browser and (via Maven) the libraries that support the application itself. NOTE: this is listed first because the GPE comes with some recent version of the GWT SDK. You may want a more recent version of the SDK, in which case, you can install and select this later.
- Maven-driven m2eclipse-install
- Git - EGit supported by JGit
- GWT - Three pieces:
- Eclipse install: GPE plugin for Eclipse,
- Browser Install: devmode plugin for FireFox (perhaps changing with super dev mode),
- The SDK - Installed in one of a variety of ways:
- perhaps under Eclipse when brought in with the GPE
- separate install in the filesystem of the dev machine: the SDK library (jars) for compiling/deploying (http://www.gwtproject.org/download.html)
- Maven reference in which case it gets placed into the maven repo
- mGWT as the library handling different device types (phone, tablet, desktop)
Development Workflow
Experimental March 2015
Mobile Development Workflow
DB Queries
- Mobile Dev Queries - Holding spot for useful queries (that I haven't turned into Views yet)
Issues
- GWT mentioned that it needed the WTP, but I'm not sure which pieces. It is included in the JEE version of Eclipse, but not clear if all the needed components of WTP have been installed. More detail: http://wiki.eclipse.org/WTP_FAQ#What_version_of_Eclipse_does_WTP_work_with.3F
New Project
As of July 30, 2014
- New GWT Maven Project - under git
Eclipse Config
Builders
Google Web App Config
Deployment Assembly
I'm not sure how this was originally assembled because I've never adjusted this manually, but it looks important and relevant.
Project Facets
Installation Details
Eclipse Project Files
.project
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>showTrains</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.wst.common.project.facet.core.builder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.wst.validation.validationbuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>com.google.gdt.eclipse.core.webAppProjectValidator</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>com.google.gwt.eclipse.core.gwtProjectValidator</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.m2e.core.maven2Builder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> <nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.m2e.core.maven2Nature</nature> <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.jsdt.core.jsNature</nature> <nature>com.google.gwt.eclipse.core.gwtNature</nature> </natures> </projectDescription>
.classpath
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/java"/> <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/> <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> </attributes> </classpathentry> <classpathentry kind="output" path="target/classes"/> </classpath>
page revision: 37, last edited: 29 Feb 2020 17:04