Changes between Version 47 and Version 48 of WikiStart


Ignore:
Timestamp:
09/21/12 02:20:16 (5 years ago)
Author:
timblack1
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v47 v48  
    44== Learn web programming with CaneyPUGgies == 
    55 
    6 If you would like to learn web programming and have very strong computer skills, come join the __Caney Python Users Group__ (CaneyPUGgies) 5-7 PM Tuesdays (bring a sack lunch) at Caney Orthodox Presbyterian Church, at 2nd and Vine in Caney.  At CaneyPUGgies we're 1) teaching ourselves __framework-style web programming__ using TurboGears by 2) producing a working open source web application named [https://launchpad.net/reformedchurcheslocator Reformed Churches Locator].  Membership is free.  Your costs are your time, a wireless laptop computer with 2+ GB RAM, and a [wiki:WebDevEnv Ubuntu installation] either on your computer or a [http://www.frys.com/search?query_string=&cat=-64252&site=sr:SEARCH:MAIN_RSLT_PG&pType=pDisplay&resultpage=&cat=-64252&from=0&to=24&order_by=p03a 32+ GB bootable flash/USB drive].  Your reward is that after a year of dedicated effort you may be able to earn money as a web programmer.  Both beginners and experts are welcome. 
     6If you would like to learn web programming and have very strong computer skills, come join the __Caney Python Users Group__ (CaneyPUGgies) 5-7 PM Mondays (bring a sack lunch) at Starbucks on Frank Phillips Blvd in Bartlesville, OK.  At CaneyPUGgies we're 1) teaching ourselves __framework-style web programming__ using CouchDB and Node.js by 2) producing a working open source web application named [https://launchpad.net/reformedchurcheslocator Reformed Churches Locator].  Membership is free.  Your costs are your time, a wireless laptop computer with 3+ GB RAM, and a [wiki:WebDevEnv Ubuntu installation] either on your computer or a [http://www.frys.com/search?query_string=&cat=-64252&site=sr:SEARCH:MAIN_RSLT_PG&pType=pDisplay&resultpage=&cat=-64252&from=0&to=24&order_by=p03a 32+ GB bootable flash/USB drive].  Your reward is that after a year of dedicated effort you may be able to earn money as a web programmer.  Both beginners and experts are welcome. 
    77 
    8 We're using cutting-edge web programming tools and techniques you could use to make your own Twitter or Facebook.  The group draws on the experience of Tim Black, pastor of Caney Orthodox Presbyterian Church, who has worked as a part-time web programmer for 11 years, and has 5 years of experience using TurboGears.  Our hope is CaneyPUGgies will give more people a reason to live and work in Caney, and perhaps even start a new industry here. 
     8We're using cutting-edge web programming tools and techniques you could use to make your own Twitter or Facebook.  The group draws on the experience of Tim Black, pastor of Caney Orthodox Presbyterian Church, who has worked as a part-time web programmer for 12 years.  Our hope is CaneyPUGgies will give more people a reason to live and work in Caney, and perhaps even start a new industry here. 
    99 
    10 TurboGears is a __rapid web application framework__ like [http://rubyonrails.org/ Ruby on Rails] which encourages current best practices such as the separation of concerns into model, view, and controller code, and test-driven development.  It is written in the [http://python.org Python] programming language, whose syntax is fairly easy to learn, but uses other languages and technologies which are transferable to other languages, so even someone who doesn't want to learn Python can benefit from CaneyPUGgies.  Because [http://www.w3schools.com/js/default.asp JavaScript] is useful in any web application, TurboGears encourages its use, and Reformed Churches Locator's primary user interface will be a __single-page application__ using [http://jquery.com/ JQueryUI] (an AJAX/JavaScript user interface toolkit).  TurboGears, like Ruby on Rails, will introduce you to cutting-edge programming tools & best practices, including the separation of concerns into __model__, __view__, & __controller__ code to increase maintainability, [http://www.turbogears.org/2.1/docs/main/Controllers.html mapping URLs to controller methods] for cleaner URLs & simpler/clear code organization, an __object-relational mapper__ (ORM - [http://www.turbogears.org/2.1/docs/main/SQLAlchemy.html SQLAlchemy]) to simplify database access, a __templating language__ ([http://www.turbogears.org/2.1/docs/main/Templates/Genshi.html Genshi]) to allow graphical designers greater flexibility, __reusable widgets__ with integrated & customizable form validation ([http://www.turbogears.org/2.1/docs/main/ToscaWidgets/ToscaWidgets.html ToscaWidgets]) to speed interface development, [http://www.turbogears.org/2.1/docs/main/DatabaseMigration.html database schema migrations] to simplify upgrading & downgrading software versions, and [http://www.turbogears.org/2.1/docs/main/Testing/index.html test-driven development] to protect against unnoticed feature regressions in the future.  Beyond that CaneyPUGgies will use a project management system ([http://launchpad.net launchpad.net]), __version control system__ ([http://bazaar.canonical.com/en/ Bazaar]), and perhaps __continuous integration__ and a __CSS framework__ ([http://www.blueprintcss.org/ Blueprint]).  It will introduce attendees to [http://www.aptana.org/ Aptana] as a web development IDE, [http://code.google.com/chrome/devtools/docs/overview.html Chrome Developer Tools]/[http://getfirebug.com/ Firebug], and a number of other tools available in Ubuntu that are useful for web development. 
     10Here are some of the technologies we are using: 
     11 * General application structure: 
     12   * [http://www.w3schools.com/js/default.asp JavaScript], the ubiquitous scripting language of the web, useful in any web application 
     13   * [http://couchapp.org CouchApps] to create single-page web applications hosted completely in CouchDB and written entirely in the JavaScript programming language.  CouchApps' two-tier architecture is simpler than the older three-tier architecture in which most web applications have been written until recently, and this simplicity makes it possible to write applications more quickly than in rapid web application frameworks like Ruby on Rails. 
     14   * [http://backbonejs.org/ Backbone.js], a JavaScript web application framework which encourages current best practices such as separating code into distinct model, view, and controller sections to make it more maintainable in the future, and creating reusable widgets to speed interface development, and it provides event routing & search-engine-friendly URLs. 
     15     * [https://github.com/PaulUithol/Backbone-relational backbone-relational] to provide relationships between data model objects; like an Object-Relational Mapper (ORM) 
     16     * [http://janmonschke.com/projects/backbone-couchdb.html backbone-couchdb] to save data to CouchDB 
     17 * Database & data models 
     18   * [http://couchdb.apache.org/ CouchDB] as a NoSQL database which supports peer-to-peer replication 
     19   * Backbone.js, backbone-relational, and backbone-couchdb, described above 
     20 * View templates 
     21   * [http://mustache.github.com/ Mustache templates] to allow web designers to easily modify the application's layout 
     22   * [http://jquery.com/ JQueryUI] a visually attractive AJAX/JavaScript user interface toolkit 
     23   * [http://www.blueprintcss.org/ Blueprint] CSS framework 
     24 * Server-side scripting 
     25   * [http://nodejs.org/ Node.js] for server-side code.  All server-side code is in JavaScript, so some code can be shared between the client (web browser) and the server. 
     26 * Application lifecycle management 
     27   * [http://www.aptana.org/ Aptana] as a web development IDE 
     28   * [http://code.google.com/chrome/devtools/docs/overview.html Chrome Developer Tools]/[http://getfirebug.com/ Firebug] for debugging 
     29   * [http://pivotal.github.com/jasmine/ Jasmine unit tests] to automate testing the application's functionality and thereby protect against unnoticed feature regressions in the future, and encourage the best practice of test-driven development 
     30   * [http://bazaar.canonical.com/en/ Bazaar] version control system 
     31   * Continuous integration 
     32   * [http://launchpad.net launchpad.net] project management system 
     33   * and a number of other tools available in Ubuntu that are useful for web development 
    1134 
    12 For more information, contact Tim Black at (620) 879-2359, pastor@caneyopc.org, or come to a CaneyPUGgies meeting. 
     35For more information, contact Tim Black at (620) 306-1507, pastor@caneyopc.org, or come to a CaneyPUGgies meeting. 
    1336 
    1437== How you can get involved == 
     
    2548 * [wiki:RCLCouchAppArchitecture] 
    2649 * [HowToStartTheCouchApp How to start the RCL CouchApp] 
    27  * [http://turbogears.org/2.1/docs/ TurboGears 2.1 docs] - start here, then if they are not sufficient, go to the [http://pylonsbook.com/ Pylons book] for more detail 
    2850 * CheatSheets for the programming languages we're using 
    2951 * OriginalWikiHomePage - How to use Trac (rename this page when we figure out how to do so) 
    30  * TurboGearsIntroPage - this was this site's home page when we were using TurboGears