lithium

59
Introduction to Lithium Elizabeth Naramore | CodeWorks 2012

Upload: enaramore

Post on 20-Jan-2015

380 views

Category:

Technology


1 download

DESCRIPTION

Choosing the right framework for your project can be tricky and there are a lot of considerations to be had. We'll help you navigate the waters and set up some criteria, then talk about how Lithium fares in each of these areas. We'll discuss things like interoperability, business value, environmental requirements, data storage and much more.

TRANSCRIPT

Page 1: Lithium

Introduction to Lithium

Elizabeth Naramore | CodeWorks 2012

Page 2: Lithium

Criteria for Choosing a Framework (or not)

2

Page 3: Lithium

3Requirements

License

Extensibility

Community

Business Value

InteroperabilitySecurity

Documentation

Testing

Configurability

Caching

Scalability

Localization

Web ServicesReputation

Commit Activity

Architecture

Data StorageCode

Page 4: Lithium

Requirements

4

Page 5: Lithium

Requirements- PHP 5.3+- Web Server

5

Page 6: Lithium

License

6

Page 7: Lithium

License- New BSD (3 clause)- https://github.com/UnionOfRAD/lithium/blob/

7

Page 8: Lithium

8

Page 9: Lithium

Extensibility

9

Page 10: Lithium

10

Core

li3_quality li3_queue li3_docs li3_lab li3_design

li3_lldr

li3_sqlsrv

li3_cldr

li3_accessli3_facebook

li3_oauth

li3_botli3_mailer

li3_geo

li3_filesystem

Page 13: Lithium

Community

13

Page 14: Lithium

Community:- Can I get help? Where?- Can I hire someone knowledgable?- Can I contribute? How?

14

Page 16: Lithium

Hiring

16

Page 17: Lithium

Contributing:- http://lithify.me (front page!)- 13 core contributors- IRC #li3-core on Freenode

17

Page 18: Lithium

Business Value

18

Page 19: Lithium

19

Page 20: Lithium

Interoperability

20

Page 21: Lithium

Any third party code can be used as a library.

21

Page 23: Lithium

Security

23

Page 24: Lithium

Lithium provides basic functionality for user authentication, data sanitization, filtering input/escaping output and CSRF protection. Form signing is in testing.

24

Page 25: Lithium

Documentation

25

Page 26: Lithium

Documentation:- Are there articles/tutorials on using it?- Can I understand the code?- Is there information on contributing?

26

Page 28: Lithium

Documentation (in code):

For example, in Libraries.php, roughly 42% of the lines of code are comments.

Not just what, but how and why.

28

Page 30: Lithium

Well Tested

30

Page 32: Lithium

Testing Frameworks

32

Page 33: Lithium

Lithium has a custom,

embedded testing framework to make it easy for you to run tests.

33

Page 35: Lithium

35

Page 36: Lithium

Configurability

36

Page 38: Lithium

Performance

38

Page 39: Lithium

Universal Cache Class:- Memcache- APC- File- Redis- Xcache- Custom

39

Page 41: Lithium

Scalability

41

Page 42: Lithium

42

Page 43: Lithium

Decoupled and flexible.

43

Page 44: Lithium

Localization

44

Page 45: Lithium

45

Core

li3_quality li3_queue li3_docs li3_lab li3_design

li3_lldr

li3_sqlsrv

li3_cldr

li3_accessli3_facebook

li3_oauth

li3_botli3_mailer

li3_geo

li3_filesystem

Page 47: Lithium

Web Services

47

Page 50: Lithium

Activity

50

Page 52: Lithium

Reputation

52

Page 53: Lithium

Architecture

53

Page 54: Lithium

- MVC- Adapters/Helpers- Aspect Oriented- Uses PHP 5.3 Features

54

Page 56: Lithium

Data Storage

56

Page 57: Lithium

- MySQL- SQLite3- CouchDB- MongoDB

57

Page 59: Lithium

59

[email protected]

@ElizabethN

https://joind.in/7097 (abstract is incorrect, don’t hate me)