Invitation of the BEAR.sunday's world


Published on

Why we will use BEAR.Sunday and AngularJS.

Published in: Technology, Education
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Invitation of the BEAR.sunday's world

  1. 1. Invitation of the BEAR.Sunday's world. Author: Ryo HAYASHI in GnGn Inc. Edition Date: 2013-12-20
  2. 2. What is BEAR.Sunday? • It is web application framework. • Has no components of its own. • Everything is a resource. BEAR doesn t have Model, View, Controller. Only have resource. • It doesn't restricted a system implementation. • It can do inversion of control by dependency injection. • It does decouple each implementation by aspect oriented.
  3. 3. What is a resource? • Resource is pure information. It doesn't have a form. • The form be decided when has a URI. • URI like a method name for BEAR. • Resource has a form by URI. • URI is API of a resource, URI has methods that express like a event to resource. We called this REST.
  4. 4. $student = array( 'id' => 1, 'name' => 'John' ); GET /DB/User/Student DB_User_Student::onRead() Database: users table How to extract the modelized data from a resource.
  5. 5. What is a dependency injection? • DI remove dependency of each implementation. • Intent will be decouple with implementation by DI. • DI give testability to a system because it can inject a test data.
  6. 6. Yellow Left Hand Human Hand s be able to dependency inject "human", "left", yellow".
  7. 7. What is aspect oriented? • Aspect is epithet of implementation, and decouple with the true nature of the implement. • Aspect can be cross-cutting on objects.
  8. 8. Object Aspect Aspect Aspect Object Object Object Object Relation with object and aspect.
  9. 9. Aspect_After_Log Aspect_Around_Transaction Aspect_Before_Auth DB_User_Student::onRead() Service_House::onCreate() Analysis_Student_House::onUpdate() Service_Student::onRead() Concrete example.
  10. 10. Why choose BEAR.Sunday? • Web application must be able to respond flexibly to changes because web service is unstable always. • Simple rule is best. It's Minimalism. Minimalism will give clarity to intent of the design. • The procedure method be able to consistent if request method of web application is under control of the URI.
  11. 11. What is AngularJS? • It is front-end framework. • It be MVVM pattern. • Decouple each layer by role of reproduce: Data binding, Animation, Transition. • It has best captured the concept of resource by reproduce.
  12. 12. What is reproduce? • The Intelligence can be found in a resource, but cannot found in the physical world.
 This is Movement of the impression . It s like cloud's move. cloud is not moving in practice, It reproduced to changes in humidity and atmospheric pressure.
  13. 13. What is MVVM pattern? • It will be decouple View with Mode by ViewModel. • View pattern is representation. • Model pattern is resource. • ViewModel pattern is How to make visual from resource . It will give Movement of the impression from Model to View. • The true nature of MVVM pattern is ViewModel.
  14. 14. Resource: Sun Behavior: Cloud Resource: Wind, Water MVVM pattern diagram by cloud s move.
  15. 15. Why choose AngularJS? • The visual design should be reproduce from a resource because the true nature of data there are in a resource. • It will decouple behavior from visualize in HTML. It s like a cloud s example.
  16. 16. Why mix BEAR.Sunday and AngularJS? • BEAR.Sunday be able to handling a resource by URI. • AngularJS be able to control DOM by WebSocket. • These be able to control DOM by URI. • DOM be able to reproduce from resource according to URI when the system be implemented by BEAR.Sunday and AngularJS. • Therefore, HTTP and WebSocket request become abstract.