0

Development environment

Hello all,

Is there a recommended development environment setup? I typically use Eclipse for web-based apps. It supports Javascript syntax checking and code completion. I tried adding the Konfabulator framework as a Javascript library in an effort to learn the Konfabulator API quickly, but I'm not having much success.

I was curious to know if anyone has an dev environment recommendations. Consider testing requires a restart of the widget simulator for each testing iteration, any sort of syntax checking before deployment could help shave off significant amounts of dev time.

Thanks,

Jonathan

by
15 Replies
  • QUOTE (jongraf82 @ Apr 6 2009, 10:59 AM) <{POST_SNAPBACK}>
    Is there a recommended development environment setup? I typically use Eclipse for web-based apps. It supports Javascript syntax checking and code completion. I tried adding the Konfabulator framework as a Javascript library in an effort to learn the Konfabulator API quickly, but I'm not having much success.

    I was curious to know if anyone has an dev environment recommendations. Consider testing requires a restart of the widget simulator for each testing iteration, any sort of syntax checking before deployment could help shave off significant amounts of dev time.


    The widget team here seems to be split between those who use Eclipse (smart guys) and those who don't (still smart guys, but ones who like pain). As you can tell, I am biased towards the Eclipse camp. :PWhat platform are you running on and I can offer more customized tips to your setup?
    0
  • QUOTE (Jeremy Johnstone @ Apr 6 2009, 07:30 PM) <{POST_SNAPBACK}>
    ... What platform are you running on and I can offer more customized tips to your setup?


    I have the same issue as the original poster. Like you, I'm using Eclipse with Aptana (on Ubuntu). However, I'm trying to hit the Pikeo API and have to iterate a lot to get their calls worked out properly. I was hoping to NOT have to restart the simulator every time I test the code; rather, I'd like to run some sort of unit test from the command line. Obviously, that doesn't work for the UI portion of the widget, but it would speed my edit/test/debug cycle if I can develop my API client library without having to fire up the simulator over and over again.

    Any suggestion for command line unit/functional testing?

    -- Bosco
    0
  • QUOTE (boscomonkey @ Apr 7 2009, 02:46 PM) <{POST_SNAPBACK}>
    Any suggestion for command line unit/functional testing?


    What are you firing up the simulator to test? That your layout works (something which would be difficult to test outside the widget engine) or that the code parses correctly and doesn't have errors (something a Javascript IDE could get you a long ways towards)?

    -Jeremy
    0
  • QUOTE (Jeremy Johnstone @ Apr 8 2009, 07:27 PM) <{POST_SNAPBACK}>
    What are you firing up the simulator to test? That your layout works (something which would be difficult to test outside the widget engine) or that the code parses correctly and doesn't have errors (something a Javascript IDE could get you a long ways towards)?


    Stuff that would be useful to test outside the simulator:
    - Signing signatures to make API requests (i.e., oAuth)
    - Parsing resultant XML correctly

    I think I can do most of these in standalone files and run them from a browser. Will just have to implement URL class to perform asyncFetch correctly, but that's trivial.

    I just answered my own question. But I was lazy and hoping that some of the dev team use test driven development as a methodology and that I can leech off your test harnesses. :-)

    -- Bosco
    0
  • QUOTE (boscomonkey @ Apr 9 2009, 03:31 PM) <{POST_SNAPBACK}>
    I just answered my own question. But I was lazy and hoping that some of the dev team use test driven development as a methodology and that I can leech off your test harnesses. :-)


    I'm working towards that goal with the team, but we aren't there yet. If you come up with good ideas on test harnesses, please let me know as I am more than happy to work with you in this area.
    0
  • QUOTE (Jeremy Johnstone @ Apr 6 2009, 07:30 PM) <{POST_SNAPBACK}>
    My basic setup is to create a Project in my workspace for the Framework (homed under Framework/kontx/1.1/src/) and then a new Project for each of the widgets I am working on (homed under the /Contents directory). By homing the project directories like that it keeps the lowest amount of nested folders possible.


    I've installed the framework, but can't find these folders. Where does Ubuntu install the Framework and Contents folders by default?
    0
  • QUOTE (jongraf82 @ Apr 6 2009, 10:59 AM) <{POST_SNAPBACK}>
    I was curious to know if anyone has an dev environment recommendations. Consider testing requires a restart of the widget simulator for each testing iteration, any sort of syntax checking before deployment could help shave off significant amounts of dev time.


    I use IntelliJ IDEA to edit code in my CVS directory. I have symlinks from /devwidgets pointing at the place where my code lives (which seems to protect it from simulator resets).

    CODE
    thoth@siwa ~ $ ls -l /devwidgets/
    total 8
    lrwxrwxrwx 1 thoth thoth 59 Nov 6 14:55 bobtv.widget -> /home/thoth/work/TandbergLabs/yahoo-tv-widgets/bobtv.widget
    lrwxrwxrwx 1 thoth thoth 64 Nov 11 14:07 gridpsycho.widget -> /home/thoth/work/TandbergLabs/yahoo-tv-widgets/gridpsycho.widget
    lrwxrwxrwx 1 thoth thoth 67 Nov 13 14:47 ladybugherder.widget -> /home/thoth/work/TandbergLabs/yahoo-tv-widgets/ladybugherder.widget


    The simulator appears to update its ~/TVWidgets/ cache by fetching files from /devwidgets through the symlinks, so code changes in IntelliJ are absorbed as soon as i run a new /usr/locall/bin/Konfabulator.
    0
  • I'm using Eclipse on Ubuntu. I've created Javascript projects in Eclipse in the past and added user-defined Javascript libraries as resources to the project. Usually I can then press ctrl+space and get some sort of code completion options when I create an instance of a Javascript class. I'm going to try the plugin you mentioned but it seems that this is just what we'll have to deal with during our dev process.

    In a way, it does give me comfort to know that I'm not alone with this concern and that the Yahoo guys are using Eclipse as well :-)
    0
  • One thing I have on my todo list for some weekend is to explore adding the ability to have the code completion include all the parameters for our various Framework classes. If anyone has ever done this before for a framework and has tips, I am all ears.
    0
  • Look in /usr/local/Konfabulator
    0
  • QUOTE (Jeremy Johnstone @ Dec 2 2009, 04:30 PM) <{POST_SNAPBACK}>
    Look in /usr/local/Konfabulator


    I do not have a Framework or Contents folder there. Here are the files and directories I have:

    1. config.new
    2. Konfabulator.env
    3. Plugins
    4. config-oem.xml
    5. libPluginTvOEM.so
    6. Resources
    7. config.xml
    8. libPluginTvOEM.so.3
    9. TV
    10. Konfabulator
    11. libPluginTvOEM.so.3.0.0
    12. TVSystemProperties.txt


    Perhaps I installed incorrectly?
    0
  • QUOTE (Matthew @ Dec 4 2009, 06:18 AM) <{POST_SNAPBACK}>
    I do not have a Framework or Contents folder there. Here are the files and directories I have:

    Perhaps I installed incorrectly?


    Or you could try looking a couple directories deeper. ;)-Jeremy
    0
  • QUOTE (Jeremy Johnstone @ Dec 8 2009, 09:16 PM) <{POST_SNAPBACK}>
    Or you could try looking a couple directories deeper. ;)Rather than a hint, how about giving an actual path?
    0
  • Actually, I've found the answer to my own question. The source does appear to be packaged up in some file in the install. At runtime, it seems to get unpacked into ~/TVWidgets/Konfabulator-*/data/Overlay/Script
    0
  • QUOTE (kraney2 @ Feb 11 2010, 06:35 PM) <{POST_SNAPBACK}>
    Actually, I've found the answer to my own question. The source does appear to be packaged up in some file in the install. At runtime, it seems to get unpacked into ~/TVWidgets/Konfabulator-*/data/Overlay/Script


    It's actually downloaded from the server, not included in the install package. This way we can always make sure you have the latest code available.

    -Jeremy
    0

Recent Posts

in General - Yahoo! TV Widgets