When and Why to Use a Framework Simon Horwith CIO, AboutWeb

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
What is workflow?  A workflow is a structured way of defining and automating structures and procedures within an organization. What is workflow management.
Assignment 2 Case Study. Criteria Weightage - 60 % Due Date – 11 th October 2012 Length of Analysis – 2500 words Leverage % including appendices,
Types of software. Sonam Dema..
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
Software Configuration Management (SCM)
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Configuration Management (CM)
Program Development Life Cycle (PDLC)
MC365 Application Servers, Servlets, and Java Server Pages (JSP’s): Tomcat.
Frameworks CompSci 230 S Software Construction.
RUBRIC IP1 Ruben Botero Web Design III. The different approaches to accessing data in a database through client-side scripting languages. – On the client.
Working Wiki-ly An Information Tool for the Global Marketing Team April 18, 2012.
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
Software Maintenance1 Software Maintenance.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
FOR MORE CLASSES VISIT  COM 537 Week 1 Individual Assignment Integrated Diffusion Paper  COM 537 Week 1 DQ 1  COM 537 Week 1 DQ.
Co-funded by the European Union This project has been funded with support from the European Commission. This publication reflects the views only of the.
5 TH APRIL 2016 HANNAH SMITH Project Management tips and tricks for Wordpress projects.
VAdata Tools VAdata: Virginia’s Sexual and Domestic Violence Data Collection System.
FOP: Multi-Screen Apps
ALL ABOUT THE ACT: READING TEST
Software Hardware refers to the physical devices of a computer system.
Automation.
Laravel vs CodeIgniter: Best of 2017
AP CSP: Cleaning Data & Creating Summary Tables
Effective Time Management
MEmos.
Career Portfolios Building Your Own Personal Career Portfolio
CRITICAL ANALYSIS Purpose of a critical review The critical review is a writing task that asks you to summarise and evaluate a text. The critical review.
1. Welcome to Software Construction
CS101 Introduction to Computing Lecture 19 Programming Languages
A451 Theory – 7 Programming 7A, B - Algorithms.
Commercials & Trailers
Software Documentation
Preparing for a Job Interview 101
Template library tool and Kestrel training
Cover Letters: Selling your skills on paper
Improvement 101 Learning Series
What are Social Stories?
Tools of Software Development
Peer Reviews Tips for the Reviewer.
The Object-Oriented Thought Process Chapter 05
Cover Letters: Selling your skills on paper
Learning Objectives To be able to…
Sharing the good, the bad, the ugly & What can we do about it?
Building a Custom Gadget in OU Campus
Manage your documents CIRCABC Module 1 DIGIT A3
E4 Comments I’ve read all your E4 blog entries with great interest!
Scholastic Aptitude Test Developing Critical Reading Skills
Applied Software Project Management
E145/STS173 Case Study Tips Professors Tom Byers and Randy Komisar
Mastering Interview Questions
Health Fitness & wELLBEING
Agile testing for web API with Postman
Killer Project Management Best Practices
An Update of COSO’s Internal Control–Integrated Framework
Bringing more value out of automation testing
Handout 5: Feedback and support
Driver Diagrams.
YOUR FUTURE AND INFORMATION TECHNOLOGY
Finding and using code online
TEST TAKING STRATEGIES: Reading Strategies
CPD made clear.
Soft Skills Part 2 Self-Confidence.
Advice from Admissions Representatives
Preparing for a Job Interview
Presentation transcript:

When and Why to Use a Framework Simon Horwith CIO, AboutWeb

Objectives The objective today is to describe what a framework is, and when/why they should be used We will begin by examining how wikipedia answers these questions, then we will discuss how things work in reality

Topics What is a framework (wikipedia)? Why to use a Framework (wikipedia) Why NOT to use a Framework (wikipedia) Who needs to pay attention? What is a framework? Confession When to use a Framework When not to use a Framework Why to use a Framework? Why NOT to use a Framework Frameworks and You!

What is a Framework (wikipedia)? In software development, a framework is a defined support structure in which another software project can be organized and developed A framework may include support programs, code libraries, a scripting language, or other software to help develop and glue together the different components of a software project.

Why to use a Framework (wikipedia) Frameworks are designed with the intent of facilitating software development, by allowing designers and programmers to spend more time on meeting software requirements rather than dealing with the more tedious low level details of providing a working system

Why NOT to use a framework (wikipedia) There are common complaints that using frameworks adds to "code bloat", and that a preponderance of competing and complementary frameworks means that one trades time spent on rote programming and design for time spent on learning frameworks

Who needs to pay attention? Executive Decision Makers The decision to use or not to use a framework may effect all of the projects and developers in your organization Team Leaders Identifying how a framework will benefit your team and know how they will work within that framework Developers Know how to work within a framework and make yourself more marketable

What is a Framework? To add to the wikipedia definition: Frameworks tend to offer centralized control to an application Frameworks usually automate and/or obfuscate processes run on initialization and/or request

Frameworks and CMS’ Q: What is the difference between a Framework and a Content Management System? A: A CMS is software designed to assist users in managing content Versioning, authoring, uploading, workflow/approval Fact: A CMS usually complies with the definition of a framework, but many frameworks do not fall under the category of a content management system Frameworks are for developers CMS’ are for content authors/contributors

Confession My name is Simon, and I’ve used and even written frameworks Despite being vocal about the problems with frameworks and being stereotyped as “Mr. Anti-Frameworks”, I also recognize their benefits For every framework, there is a time and place when it makes sense to use

When to Use a Framework? Use a framework when: the framework will assist in meeting software requirements without getting in the way The developers on your team are all familiar with the framework or are confident they can get up to speed based on the framework documentation The framework will make the running of a project better/easier (dividing tasks) The framework offers some other benefit(s) that justify its use Timeliness Less experienced developers will build/maintain the code Integration with other tools (wireframing, documentation, etc.)

When NOT to use a framework? Do NOT use a framework when: The learning curve will be too great The framework is something that will or might get in the way of meeting business requirements when using the framework isn’t the best way to achieve your results (i.e. you have a better option) You can’t name several good reasons for using the framework

Why to use a framework When used right, frameworks keep code consistent (location of files, comments, etc.) When used right, frameworks can enforce good practices (separation of View and Model, etc.) It can be much easier to manage the code with a team of developers There are tools that offer value to some framework users Centralized control can make coding or maintaining global logic easier

Why NOT to use a framework A few reasons not to use a framework: They are often not used properly thus negating benefits Frameworks do sometimes get in your way They can become a crutch Sometimes the use of a framework is overkill

Frameworks and You! There is nothing wrong with using a framework or learning one or more Learn how to use them properly Identify their strengths and weaknesses Do not become dependant on them If you build an app with a framework and don’t think you could build it without the framework, you should try doing so On any project, ask yourself why you’re using a framework before you do

End Thank You for attending! Feel free to send questions/comments to shorwith@aboutweb.com