where to start with application development for your startup

12
Where to start with application development for your startup 1 by Desmond Walford 1 An introduction to Laravel

Upload: cyber-duck

Post on 12-Jan-2017

603 views

Category:

Engineering


6 download

TRANSCRIPT

Page 1: Where to start with application development for your startup

Where to start with application development for your startup

1

by Desmond Walford

1

An introduction to Laravel

Page 2: Where to start with application development for your startup

Contents

1 About this presentation

2 Advantages of using a framework

3 What to look for in a framework

4 Why a robust framework is important

5 What is Laravel

6 Reasons to choose Laravel

2

7 Examples of Laravel projects

8 Get in touch with Cyber-Duck

Page 3: Where to start with application development for your startup

About this presentation

3

Who is this presentation for? This presentation is aimed at entrepreneurs, founders, CEOs and organisations that are looking to develop robust systems, applications and next generation software as a service (SaaS).

What do startups or enterprises have in common when they look to develop a next level application? They need a backend engine (or framework) to support existing and future requirements and business logic so they can develop robust, secure, scalable web and mobile products and services that work anywhere.

Page 4: Where to start with application development for your startup

Advantages of using a framework

4

1. A predefined structure to your application helps to be more organised: • Arranges your application code in an organised manner • Handles configuration of all common functions such as email settings • Organises assets by default (Images, CSS, JS, etc.)

2. Decisions are already made for you: • The coding style is pre-defined giving multiple developers consistency • Autoloading is built-in • Frameworks include inversion of control / dependency injection

3. Common tasks are already completed: • Database connections are preconfigured • Routing for clean URLs from the outset • Templating helps to reduce future support work and optimise the application • Session Management to handle user sessions • Testing strategy to help automate QA

4. There is a lot more and this will depend on the framework!

Page 5: Where to start with application development for your startup

What to look for in a framework

5

1. Open source - Most PHP frameworks are open source and this allows you to view the underlying code yourself (and contribute to it)

2. Actively developed - A lot of projects are started then abandoned or only worked on in spare time, good projects will have several contributors working on the framework regularly

3. Strong community - An open source project lives or dies by it’s community, this applies to frameworks as much as any other project. You can gauge the community by looking at forums, Stack Overflow, GitHub, IRC, etc.

4. Feature set - Does the framework provide the bare minimum or is it very feature rich. Do the features tie you in to a specific way of doing things or can they be swapped out?

5. Logical code structure / style - To use a framework efficiently you need to be able to understand the inner workings. If the way it has been developed required a steep learning curve it will restrict how quickly you can have new developers working on projects efficiently. Does the framework require one coding style when your developers prefer another?

Page 6: Where to start with application development for your startup

What to look for in a framework

6

6. Extensible - On any large project you will have some requirements that are unique and would have no place in a framework’s feature set, does the framework you have chosen make it easy to add this functionality? Do they have a way of installing user created extensions to carry out tasks that are common but, not in the core?

7. Tested / Testable - Does the framework have a good test suite? Is there support for writing tests for your own code?

8. Secure - Has this framework been used by large projects that require security testing? Have they ever released a security patch, what mechanism do they use?

Page 7: Where to start with application development for your startup

Why a robust framework is important

7

Below are 6 key reasons why a robust framework is critical to system and application development success:

1. Gets a project off the ground quickly - Important decisions are already made with well tested solutions

2. Removes repetition - Common tasks have already been done

3. Creates familiarity across projects - In large teams you can do more from project to project knowing what to expect from the framework

4. Scalability - By using a robust and versatile framework, you can scale your application and system easily and reduce maintainability

5. Security - Proven frameworks will include security management built in.

6. Community support - Frameworks that are mature will include plugins and add-ons to build upon saving time and money

Page 8: Where to start with application development for your startup

What is Laravel?

8

Voted the best PHP framework in 2015 by Sitepoint, Laravel is taking the PHP community by storm. It is a high quality framework with many of resources out of the box including an eloquent for model repositories, swiftmailer for the mailing, blade engine for templates, a system to create your migrations, a cache component to cache everything you want, a monolog logger, and much more.

Laravel is a free, open-source PHP web application framework, intended for the development of web applications following the model–view–controller (MVC) architectural pattern

LARAVEL VOTED BEST

PHP FRAMEWORK 2015

Page 9: Where to start with application development for your startup

Reasons to choose Laravel

9

1. It is open source and actively developed by a large community: • Almost 300 contributes on GitHub • Five major version releases since 2011 • Provides a Long Term Support (LTS) version • Laravel tag on Stackoverflow has 3.1k followers and 24k questions • Very active conversations on IRC and Slack

2. Standards compliant:Follows the PHP Framework Interoperability Group’s (FIG) recommended standards known as PHP Standards Recommendations (PSR)

3. Easy to start with but extremely powerful and scalable: Low barrier to entry with advanced features available for experienced developers: • Start off using the Façade Pattern to easily access all the features of the framework • Option to use Inversion of Control (IoC) container and other advanced patterns

when necessary

Page 10: Where to start with application development for your startup

Reasons to choose Laravel

10

6. Huge feature set out of the box including: • Database connectivitiy • Object Relational Mapper (ORM) called Eloquent • Sessions, Authentication, Caching, Blade template engine, Routing, etc. • Easily replace features, for example we sometimes use Doctrine ORM instead

of Eloquent

7. Full test suite for each framework module

8. Support PHPUnit out of the box:Easy to substitute for Codeception, PHPSpec, etc.

9. Extensible using Composer package manager

10.SecureReleased security patches in the past and widely used enough that security researchers have taken an interest and tested it.

Page 11: Where to start with application development for your startup

Examples of Laravel projects

11

Trusted by top brandsSome of the worlds top brands use Laravel as the ‘engine’ of choice within mission critical applications and web portals:

Page 12: Where to start with application development for your startup

We’re the Laravel experts, get in touch

12

[email protected]

+44 (0)208 953 0070

www.cyber-duck.co.uk

Herts office

12 High St Elstree, Herts WD6 3EP

London office

85 Cowcross St London EC1M 6PF