2015-02-26  Sun Jingtao   InfoQ

Eric Florenzano Recently, I published an article on my blog entitled 《Facebook Teach us how to build a website 》 The article , He thinks that sometimes software development needs a big leap forward , And this will be in 2015 It's on again , The protagonists are Facebook Of React.js、Relay and GraphQL.

Eric Florenzano It is mentioned in the article that :2003 year Brad Fitzpatrick Released Memcached, This opens up LiveJournal The era of Architecture ;2004 year Google Released MapReduce The paper , So it was born Hadoop And it's going to be all over the world ;2007 year Amazon Released Dynamo The storage system , Let's know how to make the database and application work together through linear expansion , And led to Cassandra、Riak And so on ;2010 year Twitter It taught us how to make the server side simple through the client template API, And triggered Web Another big change in applications ;2012 year Google Released Angular.js 1.0, And eventually become popular Web Development framework , All of these have one thing in common , That's it : Companies or entrepreneurial teams have learned painful lessons from production , Found a way forward from failure , And then when they share their technological breakthroughs, they trigger a series of changes .Fitzpatrick Believe in , stay 2015 year Facebook Will pass through React.js、Relay and GraphQL Three sharp swords lead to Web Another leap forward in application development .

Fitzpatrick The reason for making such a judgment is mainly based on Facebook What our employees revealed in some speeches Web Development philosophy . for example ,Pete Hunt stay 2013 Year of JSConf It's called 《React: Rethink best practices 》 Speech , Tells the story of Facebook The reason for avoiding certain “ Best practices ” Why ,Pete Hunt Think JS Template separation technology , But there is no separation of concerns , And the framework doesn't know how to separate concerns , The solution to this problem is components , Make the most of JavaScript The ability of , Weaken the role of templates ;Daniel Schafer and Jing Chen stay 2015 Year of React.js Conf It's about Facebook How to use GraphQL Change the existing way of data acquisition , Make it easier for developers to React Getting data from applications ;Christopher Chedeau stay 《React:CSS in JS》 It's about using... On a large scale CSS And how to pass JS To solve .

in general ,Facebook Proposed Web The development concept can be summarized as : Decompose the application into independent components , The style associated with the component 、 Mark 、 Validation and data requirements are placed inside the component definition , For all the data needed for self rendering, each component has a clear declaration and is stored inside the component , At the same time, for which behaviors will change the state of the component , There should also be a clear definition of what happens when the state of a component changes . A component written in this way encapsulates its own logic , Make components highly cohesive , Low coupling between components , Enhanced reusability , At the same time, it also reduces the difficulty and complexity of operation and maintenance for developers .

without doubt ,Facebook The technologies and ideas put forward for most of Web For the website development team, there is still a certain reference significance , The ideas in it are also worthy of our deep thinking and study , however Fitzpatrick The judgment of whether it will really come true ,Facebook Of React.js、Relay and GraphQL Whether it will trigger Web Another revolution in development , Only waiting time to verify .

Facebook Of Web Develop three axes :React.js、Relay and GraphQL More articles about

  1. Move web Terminal react.js Componentization scheme

      background : With the rise of the Internet world ,web There are more and more ways of front-end development , There are many front-end architectures for scenario development , The demand for the front end is also increasing , It's not on one JQuery.js Come to the era of front page , Now the mobile terminal has changed the most , near ...

  2. Web The framework outlined ——React.js

    at present , On the front end Web In development , The three popular frameworks are React.js,Vue.js,Angular.js . Of course , Each of the three frameworks has its own advantages and disadvantages , Not much here , Now I'll focus on what I learned some time ago React Frame to do the overall knowledge point ...

  3. web Development and Design --js data type ,js Operator,

    1. js Data type division : Number value type , Boolean , strand from typeof You can see what types of data are detailed . give an example : <span style="font-family:Microsoft YaHei;f ...

  4. web Develop common js verification , Using regular expressions to verify the mailbox 、 mobile phone 、 ID card, etc

    Regular expression validation // mailbox \-])+\.)+([a-zA-Z0-]{,})+$/; email = document.getElementById("email").value; ...

  5. WeChat web Developed upload images js Interface

    $('.chooseImage').click(function(){ wx.chooseImage({ count: pic_num, // Default 9, Greater than 9 It's also a display 9 sizeType: ['com ...

  6. Use React.js Step by step Web Applications : The first 1 part - Introduce

      Use React.js Step by step Web Applications : The first 1 part - Introduce Use React.js Step by step Web Applications : The first 1 part - Introduce From the translator markzhai: As you all know, recently ...

  7. Snap.svg – modern Web Develop the necessary JavaScript SVG library

    SVG It's a very good Web Technical solution , It can be used to create interaction , It'll look great on any size screen . Resolution independent vector graphics . And here's the recommendation Snap.svg This  JavaScript It can make you look like  jQuery fuck ...

  8. 6 It's a good one Web development tool

    In the past few years , There are a lot of Web development tool , Most of them are more attractive , It's convenient for our work . We can learn these new things , We can broaden our thinking in a short time (PHP100 recommend : Study 10 minute , Change your career as a programmer ). These applications ...

  9. PHP Developers are right JAVA Of WEB Introduction to development ( First edition - obsolete )

    Recently, I'm going to report to other departments PHP Development of children's shoes to do a right JAVA Training . Enemy and know yourself , you can fight a hundred battles with no danger of defeat , I need to know something about it first PHP, To confirm their foundation , Achieve good teaching effect . PHP( Originally Personal Home Page Abbreviation , Houzheng ...

Random recommendation

  1. What I understand SOA Micro service

    This article is original. , The original address is :http://www.cnblogs.com/fengzheng/p/5847441.html SOA What's the relationship with microservice ? Tell the truth , I really don't understand SOA And what is the essence of micro services ...

  2. How to open System information form and DirectX Diagnostic tools

    Start --- function ----msinfo32.exe function be located C:\Program Files\Common Files\Microsoft Shared\Msinfo\msinfo32.exe, Show calculation ...

  3. android studio Comment template

    File->Settings->Editor->File and Code Templates-> Templates->class Includes->File ...

  4. NYOJ subject 766 Palindrome number

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsgAAAHaCAIAAACSPygsAAAgAElEQVR4nO3dO3LqSheG4X8S5AyEWB ...

  5. About ANSI and Unicode

    About ANSI and Unicode 1.ANSI American National Standards Institute( American National Standards Institute ),ANSI Coding is not a specific way of coding , It's a designation, in some circumstances ...

  6. hdu 4619 Warm up 2 ( Maximum matching of bipartite graph )

    subject :Warm up 2 The question : There are dominoes in two ways , It's impossible to overlap in the same direction , But horizontal and vertical             Your cards may overlap . Remove the overlapping cards so that the remaining cards are the most . analysis : Bipartite map matching : The largest independent set = ...

  7. Touch Punch Add... To mobile devices jQuery UI Touch support for |Jquery UI Support mobile end Touch, slide, etc

    jQuery UI It is commonly used in our foreground development UI Front end class library , But for now jQuery UI The user interface class library is interactive and widget I don't support touch event . It means that you design gracefully on the desktop UI Maybe touching the device , for example ,ipa ...

  8. js cookie Cross domain setup

    /** * Set up cookie Method * @param {string} c_name cookie Key value * @param {string} value cookie value * @param {Boolean ...

  9. js Design patterns ( 6、 ... and )--- Portfolio model

    Composition patterns combine objects into a tree structure , To indicate that “ part - whole ” Hierarchical structure . In addition to being used to represent tree structures , Another advantage of composite patterns is that they are expressed through the polymorphism of objects , Make the use of single object and composite object consistent . Basic legend 1. Portfolio model ...

  10. first Spring Program

    One Build a good development environment JDK Eclipse etc. Two download jar package https://commons.apache.org/logging/ https://repo.spring.io/release/ ...