Giter Club home page Giter Club logo

dubious's Introduction

Dubious for App Engine

See the published demo: dubious-demo.appspot.com

Introducing Dubious

This is s starter project for Mirah on App Engine. Dubious provide a way to build apps in Mirah, with conventions familiar to Rails developers. Mirah has no runtime dependencies, everything is compiled ahead-of-time. Mirah apps have none of the initialization costs associated with JRuby. Dubious supports ERb and has a simple datastore adapter that uses a syntax similar to DataMapper.

Introducing Mirah

Mirah is a new language with Ruby-inspired syntax that compiles to JVM bytecode. Mirah is statically typed, with local type inference, and a simple macro system. The goal is to make Mirah as expressive as Ruby without introducing any runtime library and while maintaining Java’s level of performance. Just write code that looks like Ruby, but reference the Java docs to find out what method calls to make. Mirah uses the Java type system. Join the duby-dev mailing list to get involved: kenai.com/projects/duby/lists/dev/archive

Setup the Mirah development environment

Fetch App Engine Java SDK and JRuby, then install them into /usr/local

Make sure the appengine tools are executable

sudo chmod a+x /usr/local/appengine-java-sdk-1.3.5/bin/*.sh

Now git clone bitescript, mirah and dubious to your drive

mkdir -p ~/mystuff; cd ~/mystuff
git clone http://github.com/headius/bitescript.git
git clone http://github.com/headius/mirah.git
git clone http://github.com/mirah/dubious.git

Edit .bash_profile to find these tools

export JRUBY_HOME=/usr/local/jruby-1.5.1
export MIRAH_HOME=~/mystuff/mirah
export APPENGINE_JAVA_SDK=/usr/local/appengine-java-sdk-1.3.5
export PATH=$PATH:$JRUBY_HOME/bin:$MIRAH_HOME/bin:$APPENGINE_JAVA_SDK/bin

Verify tools are configured properly, and check to see that script/build.sh has the correct path to the SDK.

which appcfg.sh
which dev_appserver.sh
which mirah
which jruby

Developing your App

Until be have generators, just start by altering the main dubious app.

cd ~/mystuff/dubious

There are two ways to develop the app. The first way is to run the build script each time you make a change. The new way is to use the Rakefile. If you are using jruby’s rake, the task will watch for source file changes and update the running class files. Otherwise, you need to restart the server when you have changes.

Use the Original Scripts

Compile the Mirah files and populate the WEB-INF/lib dir

./script/build.sh

Run the app locally

./script/server.sh

Edit the app-id in app.yaml, then publish to appspot.com

./script/publish.sh

Use the New Rakefile

Populate the WEB-INF/lib dir

./script/environment.rb

Run the app locally

jruby -S rake server

Edit the app-id in app.yaml, then publish to appspot.com

jruby -S rake publish

Apache License 2.0

www.apache.org/licenses/LICENSE-2.0

dubious's People

Contributors

baroquebobcat avatar takeru avatar

Stargazers

Piyush Ranjan avatar

Watchers

Piyush Ranjan avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.