alchemy webapp framework Introduction What is alchemy?



Similar documents
Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

Getting Started with WebSite Tonight

PRINCIPAL JAVA ARCHITECT JOB ID: WD001087

by Geoff Blake TenTonOnline.com

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Joostrap RWD Bootstrap Template

THE TOP 5 ONLINE MARKETING MISTAKES

Trollhättan, Sweden

ASSOCIATE IN ARTS DEGREE-60 UNITS

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities:

Title: Front-end Web Design, Back-end Development, & Graphic Design Levi Gable Web Design Seattle WA

6 HUGE Website Mistakes that could Cost You Thousands

2016 TRAINING CALENDAR

IGW+ Certificate. I d e a l G r o u p i n W e b. International professional web design,

Build it with Drupal 8

Enterprise Mobile Application Development: Native or Hybrid?

SENIOR WEB DEVELOPER

How To Write A Monitoring System For Free

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

How To Build A Web App

BUSINESS OF WEB DESIGN - A nerd's guide setting up a web design business. By: Stefan Mischook

Business & Computing Examinations (BCE) LONDON (UK)

Lesson 7 - Website Administration

Document management and exchange system supporting education process

Architecture Workshop

ABTO Software PHP Web Development Overview

Creating Library Website Using Open Source Content Management System

Web Application Frameworks. Robert M. Dondero, Ph.D. Princeton University

Web Development News, Tips and Tutorials

jquery Tutorial for Beginners: Nothing But the Goods

International Journal of Engineering Technology, Management and Applied Sciences. November 2014, Volume 2 Issue 6, ISSN

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

IT3504: Web Development Techniques (Optional)

FormAPI, AJAX and Node.js

ORACLE APPLICATION EXPRESS 5.0

OIT 307/ OIT 218: Web Programming

IT3503 Web Development Techniques (Optional)

Short notes on webpage programming languages

Security Products Development. Leon Juranic

Open Source Job Scheduler

Library Technology Reports

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

DIPLOMA IN WEBDEVELOPMENT

Chapter 28: Expanding Web Studio

Drupal + Formulize. A Step-by-Step Guide to Integrating Drupal with XOOPS/ImpressCMS, and installing and using the Formulize module

Certified PHP/MySQL Web Developer Course

GUI and Web Programming

Abdullah Radwan. Target Job. Work Experience (9 Years)

BBBT Podcast Transcript

Seven Things You Must Know Before Hiring a Real Estate Agent

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

Information Technology Services

To use MySQL effectively, you need to learn the syntax of a new language and grow

webtree designs Gayle Pyfrom web site design and development Lakewood, CO

Workshop on Using Open Source Content Management System Drupal to build Library Websites Hasina Afroz Auninda Rumy Saleque

Introducing Python as a main Programming Language

Using icontact The Preiss Company

Ruby on Rails. a high-productivity web application framework. blog.curthibbs.us/ Curt Hibbs <curt@hibbs.com>

Offerte del 10 maggio 2013

White Paper On. Single Page Application. Presented by: Yatin Patel

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

Marketing Tactics

Introduction to Open Atrium s workflow

Los Angeles Trade-Technical College Student Employment Center. Computer Science. Part-Time

Chronoforums. Written by ClubAero.nl, 8 th December 2013

Drupal 8 Development Retrospective. A timeline and retrospective from a core contributor

PHP on IBM i: What s New with Zend Server 5 for IBM i

Digital Agency Presentation

Mobile Application Platform

Going Mobile-does your website work on mobile devices?

Seven Things You Must Know Before Hiring a Real Estate Agent

Web Programming Languages Overview

How To Develop A Mobile App With Phonegap

CSCI110 Exercise 4: Database - MySQL

Developing Your School Website

Wholesaling Mark Ferguson

Dreamweaver CS5. Module 2: Website Modification

Outsourcing WordPress Development

SplendorNet. Pvt. Ltd. www. www. www. Riding The Future. Portfolio. You could say, we do it all... (and you'd be right.)


STEP Networks Inc North routledge Park Ontario, Canada, N6H 5N5 OUR COMMITMENT TO EXCELLENCE

ONLINE SCHEDULING FOR THE PRIVATE CLINIC "OUR DOCTOR" BASED ON WEB 2.0 TECHNOLOGIES

Web and Mobile development Engineer

ecommerce in Retail BY PENTAMEDIA

Transcription:

Cut to the Chase Series More Walk Less Talk alchemy webapp framework Introduction What is alchemy? Copyright 2010 by Eric Matthews. This document is licensed under Creative Commons 3.0

alchemy webapp framework - Introduction Table of Contents A brief Introduction to Alchemy...2 What alchemy is...2 Alchemy Design Goals...2 What alchemy is not...4

alchemy webapp framework A Brief Introduction A brief Introduction to Alchemy Welcome to what will be a brief introduction to alchemy in order to keep in concert with my more walk, less talk motto. My name is Eric Matthews. I am the chief designer, programmer, and inventor of this framework. I confess here and now that I built this framework first and foremost for myself. I use it for my own web endeavors. I also use it to build commercial applications. Others use it as well. How many I cannot really say. What I can say is that I am a huge fan and advocate of open source software. I have great respect for it's pioneers, people like Richard Stallman of GNU. I must admit, at first I thought this movement was some form of communism that would doom us all. I remember a guy I really respected telling me, Eric, when you give something away for free it is worth nothing. I still believe today that there is a great measure of truth in this statement. But open source software is not free, it is about freedom. Freedom to choose, to create, to be expressive. Freedom to not always have to follow the pack. What alchemy is alchemy, in a nutshell, is a loosely coupled framework that allows me to quickly build web content and web applications. alchemy integrates what I feel are many other cool open source software. alchemy can also integrate and support commercial software as well. alchemy is based upon and integrates the following browser-side and server-side technologies: Php Javascript JQuery CSS Html Apache MySQL Oracle SQL Server The design goals for alchemy are pretty simple and can be summarized as follows Alchemy Design Goals Do not reinvent the wheel, when you have a wheel that works and does what you need. Do not lock others (and yourself) into a development paradigm that restricts freedom. Functionality and pragmatism must always trump trends and fashion. 2

alchemy webapp framework A Brief Introduction Spend as little time as possible before going into the work room. Choose technologies and solutions that minimize mindless meetings and the pretense of collaboration. There are many nice web development frameworks out there. Open source frameworks like Joomla and Drupal are notable examples. I have used them both in the past. But, they always left me wanting and waiting as I felt they forced me into their perspective of application development. I do not mean this as a slam or criticism of them. For me, I just needed more freedom and control over my destiny than they offered. Most importantly, alchemy is an attempt to wrap up and generalize the process of business application development. There are many generalized technologies and languages that have done this. For example, Php and its inherent context management is a fantastic thing. JQuery is an absolutely browser compliant and productive wrapper (and theology) around Javascript. But, I still sought something more, something of a higher order in terms of business programming. For instance, it has always bothered me that data access to a dbms only involves two items. 1) Reading data; 2) writing data. And writing data to a database only involve three other functions: 1) adding something new; 2) deleting something; 3) updating something. Yet every language I have programmed in (C, VB, Cobol, Php, Perl, Java, Blaze) makes data access something that never made much sense to me. Even the invention of what are called connectors left me scratching my head. What I longed for were four basic design goals in terms of structured database access. They were: 1. Keeping the technical implementation of data access as simple as it really is at a high level. 2. Being able to decouple the data access code from the host language code. 3. Getting the data back in a format of my choosing though and api to keep me from having to always be responsible for formatting the returned data. 4. Make data access through the host language code totally agnostic to the underlying dbms it is reading and writing to. This is just one example of the type of application api I have put together in alchemy. I do not see alchemy as just a web development framework that I have put together using the aforementioned technologies. It certainly is, as I have always been a roll-up-your-sleaves and lets get-er done type of person. I also see alchemy as a development philosophy that at its foundational core says, what business programming functions can we automate in some way, shape, or form, while still maintaining maximum freedom for the developer? In other words, alchemy is not "take it all and do it my way". I have packaged it up in a way where you can get it all. But, the bottom line is that you choose what you implement and how you wish to write code. Since most is open source you are also free to change or add whatever you feel you need. Finally, alchemy will always be a work in progress. Since I use it in production instances it is developed with the architectural consideration that if I am going to add something new I must do it in a manner that does NOT break something that already exists. This for me is an important and a foundational principle that is often overlooked. As I like to say, you get a clean sheet of paper until 3

alchemy webapp framework A Brief Introduction someone starts using your stuff for the first time! What alchemy is not It is just easier to bullet these items. It is not a web development solution that anyone can use to build web applications. In other words, alchemy is an api for experienced programmers based upon the WAMP/LAMP stack and other open source technologies. You need to be a Php programmer to use it. It is not a black box that hides the evil details of programming and web development from you. In other words, if you need to get data in and out of a database you still need to understand the database you are working with. It is not some form of artificial intelligence. You need to understand the business you are developing your application for. It is not a GUI like UML, that claims if you draw a bunch of stick figures and pictures and push a button out pops a working application. It is not one way of doing application development. Rather, it employees a wide range of techniques from code generators, static templates, toycode examples, etc... etc... to help you in developing web applications. 4