Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 300767
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T06:56:39+00:00 2026-05-12T06:56:39+00:00

I’d like to know what languages and tools (debuggers, IDEs, profilers, libraries, etc) are

  • 0

I’d like to know what languages and tools (debuggers, IDEs, profilers, libraries, etc) are available for those wanting to develop for Palm Pre.

Also, I’d like to know what technological restrictions exists that one has to be aware of.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T06:56:39+00:00Added an answer on May 12, 2026 at 6:56 am

    There is a library of JavaScript functions for interacting with the base system (phone-level stuff) and CSS tags, styles, etc, for rendering in the Palm WebOS style.

    The SDK comes with a script “palm-generate” which builds a set of configuration files and folder structure. The “palm-package” script builds an isntaller, and nother script, “palm-install” load the installer into the emulator’s file system (or a real palm, I believe…mine is on order and should be here Monday!!!).

    It is easy enough to find this code, and it isn’t at all original, but I thought it would be valuable to give a glimpse here…

    Hello World – copied from the tutorial in the palm webos sdk

    alt text

    HelloWorld/appinfo.json – meta-information for this application, including a unique name (domain-style), and the root of the application (“index.html”)

    {
        "id": "com.yourdomain.hello",
        "title": "Hello World",
        "type": "web",
        "main": "index.html",
        "icon": "icon.png",
        "version": "1.0.0",
        "vendor": "Your Company"
    }
    

    HelloWorld/sources.json – manifest

    [
        {
            "source": "app\/assistants\/stage-assistant.js"
        },
    
        {
            "source": "app\/assistants\/first-assistant.js",
            "scenes": "first"
        }
    ]
    

    helloWorld/app/assistants/stage-assistant.js – controller for the application. each application consists of a Stage with multiple Scenes; the StageAssistant.setup() method gets control first, providing time to initialize data, connections, etc.

    function StageAssistant () {
    }
    
    StageAssistant.prototype.setup = function() {
        this.controller.pushScene('first');
    
    }
    

    HelloWorld/index.html – the view for the Stage

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPECTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <title>Hello, World!</title>
        <script src="/usr/palm/frameworks/mojo/mojo.js" type="text/javascript" x-mojo-version="1"></script>
    </head>
    
    <body>
    Hello, World! 2:59
    </body>
    </html>  
    

    helloWorld/app/assistants/first-assistant.js – view for the “first” scene

    <div id="main" class="palm-hasheader">
        <div class="palm-header">Header</div>
        <div id="count" class="palm-body-text">count</div>
        <div id="MyButton" name="MyButton1" x-mojo-element="Button"></div>
    </div>
    

    helloWorld/app/assistants/first-assistant.js – controller for the “first” scene

    function FirstAssistant() {
        /* this is the creator function for your scene assistant object. It will be passed all the 
           additional parameters (after the scene name) that were passed to pushScene. The reference
           to the scene controller (this.controller) has not be established yet, so any initialization
           that needs the scene controller should be done in the setup function below. */
    }
    FirstAssistant.prototype.handleButtonPress = function(event){
    // increment the total and update the display
        this.total++;
        this.controller.get('count').update(this.total);
    }
    FirstAssistant.prototype.setup = function() {
        /* this function is for setup tasks that have to happen when the scene is first created */
    
        /* use Mojo.View.render to render view templates and add them to the scene, if needed. */
    
        /* setup widgets here */
    
        /* add event handlers to listen to events from widgets */
    // set the initial total and display it
        this.total=0;
        this.controller.get('count').update(this.total);
    
    
    // a local object for button attributes
        this.buttonAttributes = {};
    
    // a local object for button model
        this.buttonModel = {
            buttonLabel : 'TAP HERE',
            buttonClass : '',
            disabled : false
            };
    
    
    // set up the button
        this.controller.setupWidget("MyButton", this.buttonAttributes, this.buttonModel);
    // bind the button to its handler
        Mojo.Event.listen(this.controller.get('MyButton'), Mojo.Event.tap, this.handleButtonPress.bind(this));
    }
    
    FirstAssistant.prototype.activate = function(event) {
        /* put in event handlers here that should only be in effect when this scene is active. For
           example, key handlers that are observing the document */
    }
    
    
    FirstAssistant.prototype.deactivate = function(event) {
        /* remove any event handlers you added in activate and do any other cleanup that should happen before
           this scene is popped or another scene is pushed on top */
    }
    
    FirstAssistant.prototype.cleanup = function(event) {
        /* this function should do any cleanup needed before the scene is destroyed as 
           a result of being popped off the scene stack */
          this.controller.stopListening(this.controller.get('MyButton'), Mojo.Event.tap, this.handleButtonPress.bind(this));
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 383k
  • Answers 383k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer It isn't an array that holds values pulled from the… May 14, 2026 at 10:56 pm
  • Editorial Team
    Editorial Team added an answer I couldn't find it either, what I ended up doing… May 14, 2026 at 10:56 pm
  • Editorial Team
    Editorial Team added an answer The simplest way to do this is to make a… May 14, 2026 at 10:56 pm

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.