Posts

Showing posts with the label web applications

Code examples for a Dojo Mobile one page application. Backend in Ruby/Sinatra

I wrote a few days ago that I am excited about how easy it is to make simple one page web apps using Dojo Mobile that look good and work fine on portable devices (Android and iOS) and regular web browsers. I don't do a lot of UI development for my work but when I do write web apps it is great to also be able to support mobile devices with a small amount of additional simple code. In this post I will show you hopefully useful code snippets for cookingspace.com that may save you some time if you want to write the same type of apps. Last weekend I decided that I wanted a new mobile web interface to my old Cooking Space web site. I wanted to be able to quickly look up a recipe on my cellphone, see the ingredient list, and be able to specify how many people need to be served. I also want to see the nutrition data for the recipe. A top level requirement is that once the web page renders then everything is updated with AJAX. There are only two user interactions: Enter a few search term...

Using cloud services when services like Delicio.us and Wave get cancelled

You can still access my public delicio.us bookmarks if you want them. I will miss the service, as I miss Google Wave. I tried several cloud based to-do and getting things done style web sites but ended up writing my own my-foc.us web app but left the door open to other people by releasing the app as open source. I used ran the online kbsdocs.com word processor for a few years but made sure to provide data export options. People and companies who provide free services have no real obligation to continue the services forever but they have a responsibility to give users a good exit strategy . I exported my delicio.us bookmarks and I suggest you do the same.

I wish the Play framework was available when I did server side Java

Before I started using Ruby about four years ago, almost all of my web development was either J2EE or plain old JSP apps (with some fun experiments with Lisp, Scheme, Prolog, etc.) Even though Rails is my "go to" platform for efficiently writing web apps, I like to keep up with Scala + Lift, Java options on AppEngine, Clojure + Compojure, Seaside, etc. I just revisited the Play framework and I must admit some real regret that something like Play was not available when I did a lot of server side Java work. Play borrows a lot from opinionated frameworks like Rails and a quick study is enough to be productive largely because of the similarities to Rails in the ease of setting up routes, database access, nice MVC separation, etc. Probably the neatest feature of Play is that Java source code is compiled on the fly using the Eclipse Java compiler so if you edit a Java controller of model file and refresh a web page you instantly see the effects of the code change. There is a Sca...

Click is now a top level Apache project

Congrats to the Click team. My interest in doing Java web apps is low since I have mostly been using Rails for the last three years. That said, Click hits a sweet spot with a good templating system and model super classes for pages, forms, tables, etc. Because I might be using Google AppEngine for more projects, I may need to use Java so I have just read through the documentation and code samples for the latest version that is compatible with AppEngine.

Web 3.0: not just Semantic Web and Linked Data, also interop on languages and platforms

I am working on a 'Web 3.0' book so I am having a lot of fun and extending my own knowledge on linked data and other Semantic Web technologies. However, when thinking about the evolution of the web, I don't think that distributed semantically enabled data stores are anywhere near to the whole story. The evolution of the web now coincides with a very large change in our world-wide society: a move to what I call the "great frugality" of value/production based society and economic systems. While I look forward to a world wide shift towards increased emphasis of local infrastructure (definitely food production, and when possible light manufacturing), the evolving web is what can still keep us connected both to friends and colleagues with the same interests and to potential business partners, no matter where we live. A big part of a shift towards a value/production based Web 3.0 that combines material for human readers and linked business software systems is the reduct...

Scala and the Lift web applicaton framework

I have been playing with Scala for a while - playing is the correct word to use since I am waiting to see how popular the language becomes. I think that Scala will possibly end up being 'the better Java' for the JVM, but for my business I prefer not learning and using another language that is not main stream (my almost 25 years of using Lisp professionally has sometimes been a hassle because of the unavailability of other skilled Lisp developers and a smaller ecosystem, and I don't want to devote a lot of time to mastering another language that may end up being "on the fringe"). That said, Scala is a very nice language that has two non-language things going for it: very efficient runtime performance with OK memory use and that it runs on the JVM. Scala looks to be a good language for AI development and its interactive console adds some of the advantages of interactive bottom up development - a style I like to use when working in Lisp, Ruby, or Python. Until this m...

Google Gears: a sea change for web applications?

I thought that Adobe Apollo might have hit a sweet spot for allowing developers to create hybrid desk top and web applications. I think that Google may have hit a sweeter spot with Gears . Gears installs as a FireFox add-on and uses the SQLite database to store data locally on your file system. Each site that you visit that is 'Gears enabled' causes a pop up permissions dialog to appear - I recommend being careful of which web sites you allow to use the Gears add-on. I have reviewed the developers' documentation and it looks straight forward to set up and a Javascript SQL database API makes it easy to use SQL in your Javascript.

How much does web framework choice really matter?

Based on experience with consulting jobs developing web applications using several Java frameworks, Ruby on Rails, and Portable AllegroServe with WebActions (open source Common Lisp frameworks), I believe that choice of framework is less important than: Programming language: choose a language that both fits the application domain and has good library support for your application Data modeling: while I believe in interactive bottom up development, spending time up front getting object models 'right' makes development easier Object persistence: there are lots of good choices (prevalence, object relational mapping for relational databases, distributed memory only, etc.) but choose a scheme that makes sense both for development and deployment I think that these 3 issues are all more important than choosing a web UI framework. I have been investing a fair amount of time learning Erlang this year and the ErlyWeb framework (that uses the high performance Yaws Erlang web server) look...