How to evaluate Facebook's relay framework? What is Meteor.js?

Source: Internet
Author: User
Tags virtual environment

http://www.zhihu.com/question/34531232?rf=34500201

What is Meteor.js?

Chen Tian
Links: http://www.zhihu.com/question/20296322/answer/16089122
Source: Know
Copyright belongs to the author, please contact the author for authorization.

Meteor's official website (METEOR) introduces this framework:
Meteor is an open-source platform for building top-quality Web Apps in a fraction of the time, whether your ' re an exp ERT developer or just getting started.
top-quality Web AppsWe put down not the table, Fraction of the timeThe formulation is very novel, it seems that the goal of this framework is to liberate the procedural apes, less time to do more. Although the specific evolutionary path I do not know, but from a variety of clues on the network, meteor absorbed the Google Wave, asana and other platforms behind the development of the essence of the tool, gradually evolved the current version. Meteor's behind-the-scenes team was pretty tough: most of them graduated from MIT, a successful entrepreneur and a first-class engineer, and one of the developers was the author of Artifact Etherpad.

Meteor, what exactly is NB's place?

First, meteor architecture and Nodejs. This makes One LanguageAnd can rely on Nodejs's powerful class libraries such as Http://socket.io built-in RealtimeDate on The Wireand other characteristics.

On the basis of a language, meteor unifies the server-side and the client's data access, proposes Database Everywhere, a set of DB APIs greatly reduces the development burden and does not need to be transformed by the server data JSON client data (think about your Django or Rails app, how much effort does it take?). )。

To achieve the best user experience for your app, Meteor also provides Latency Compensation, the client updates the data immediately to the UI, if the update is reject by the server, and then rollback. In most cases, users will get an excellent experience like a local database.

The most amazing thing about Meteor is its Full Stack reactivity。 For a detailed introduction to reactivity programming, please refer to reactivity programming, which does not expand here. In short, when the data changes, all the places that depend on that data automatically change accordingly.

Students who have used backbone know that when the model changes, we need to register the corresponding event, explicitly update the corresponding DOM, if the data in the page is rendered in many places, then each corresponding DOM needs to be updated.

Ember is a big step in backbone's mind, with the built-in data binding API, which enables the two-way binding of the DOM, and the program ape no longer has to think about DOM updates. However, crappy API calls (all access to binding data need to be made through getter and setter, you know) and the ubiquitous script garbage in the DOM make Ember neither minimalist nor elegant.
And Meteor is another strange, through the reactivity context and dependency cleverly support the reactivity (according to the author said the core code on dozens of lines), users can hardly feel the changes in the code.

Meteor another very sweet point is the zero deployment. A little bit of a headache for developing web apps is packaging and deployment. For example, turning less to css,coffee into JavaScript, then confusing, compressing, while some automated tools can simplify this part of the work, there are also some configuration and scripting work. In the development environment, Meteor will automatically load the js/css for you, if you use Coffee/less (SASS), as long as add the corresponding smart Package,meteor will automatically help you handle, after the completion of the deployment, only need to run meteor Bundle, the system will automatically package the relevant resources, as long as the target system has the corresponding version of Nodejs,meteor and MongoDB, you can run a standard version of production.

The following is the meteor official online introduction, when you really use meteor, you will find really not bragging.
SEVEN Principles of METEOR

    1. Data on the wire. Don ' t send HTML over the network. Send data and let the client decide how to render it.

    2. One Language. Write both the client and the server parts of your interface in JavaScript.

    3. Database Everywhere. Use the same transparent API to access your database from the client or the server.

    4. Latency compensation. On the client, use prefetching and model simulation-to-make it look like you had a zero-latency connection to the Databas E.

    5. Full Stack reactivity. Make realtime the default. All layers, from the database to the template, should make an Event-driven interface available.

    6. Embrace the Ecosystem. Meteor is open source and integrates, rather than replaces, existing open source tools and frameworks. Simplicity Equals Productivity. The best-of-the-something seem simple are to has it actually be simple. Accomplish this through clean, classically beautiful APIs.

The above content to self-blog article: Why is Meteor

[Supplemental] What is the next generation of Web apps?
Let's look at the development of several generations of computer systems. Web/cloud era is not the repeat of the Mainframe/cs era of the road? So, do we have reason to believe that Meteor is doing this in the right direction? <img src= "https://pic1.zhimg.com/e87aef393689f7eb15c6a6f90393250c_b.jpg" data-rawwidth= "1816" data-rawheight= "1330" class= "Origin_image zh-lightbox-thumb" width= "1816" data-original= "https://pic1.zhimg.com/ E87aef393689f7eb15c6a6f90393250c_r.jpg "> Edited on 2013-02-0613 reviews Thanks for sharing collection• No help • Report • Author retention rights The collection agreed objection, will not show your namewolf3cjust for fun.15 people agreeProbably looked at the above several answers, because oneself this time in the use Meteor, therefore also wants to say two sentences. Answer the question first, simply say, Meteor is a web App development framework, you just need to use HTML+CSS+JS to develop a web app independently. You can easily complete all the work of all-stack development, I'm talking about EasyComplete. As for good or bad ... Display all probably looked at the above several answers, because oneself this time in the use Meteor, therefore also wants to say two sentences.

Answer the question first, simply say, Meteor is a web App development framework, you just need to use HTML+CSS+JS to develop a web app independently. You can easily complete all the work of all-stack development, I'm talking about EasyComplete.

As for good or bad, about the various advantages of the official online, I will no longer move, OK to see the actual use of experience, just by the official website or a few words in docs, it is meaningless to argue with others (whether the praise is derogatory). I just have a few words about my own experience.

1, from the learning angle, the learning curve for the y=x^2 shape, simple use is easy to learn, as for the advanced features, a little bit of trouble (I said this trouble is just compared with those simple knowledge, rather than the other frame trouble). Language, the front-end is JS, the background is JS, database or JS (MONGODB); database, using MongoDB degrees of freedom is very large, so you do not need to set up a data structure, can be in the development process of continuous evolution; The whole frame let people come up to feel that before and after all should be responsible for you, each function from the front to the back is one, so, from the beginning your thought is a function block of a function block, rather than the client and server, let people's thinking from the technology freed up, More thoughts into functional thinking. As for some high-level responses, and so on, it might be a bit of a hassle for someone without a development experience.

2, from the angle of writing code, Meteor give me the feeling is simple, intuitive. Previously written web applications, from the data in the background database to the display of the interface, give people you need a variety of languages, all kinds of transmission. But in the meteor, I will HTML and CSS as a brush, JS compared to the line pen, brush drawing interface, for the need to display the database content, left the JS connection is good, the brush and the connection pen in the middle of the link is spacebar (something like Headlebar, Simply put the HTML in the need to connect JS place {{name}}, in JS directly processing the data return to the corresponding location in the HTML. As a product dog, I do not want to spend too much time in amateur products to learn a lot of technology, the fastest thing is the most important. What is restful? What is packing? What is an interface? What do you care about me? The development process did not encounter such a problem ah, haha ...

-------------------------------------------2016.02.03 Supplement-----------------------------------------------
3. What you see is what you receive. Meteor development can be in their own computer to see the effect of their own app, may be said that the development of the Web can see the effect of their own development Ah, but meteor see is connected to the background, that is, on your computer ran a your current development of the application, you can look at the development side, There is no need to build your own virtual environment, and another advantage of this development is that debugging is more convenient, in the process of development, you already know whether your things meet the requirements, the input data can be output in another place normal.

4, more friendly, more focused, give people confidence. Meteor learning, development is simple, this we have said, the "friendly" here is the meteor from the addition of various components to deploy their own applications, is very simple, a meteor add add a package, the same command can deploy their own applications to the server , all of your attention is focused on how to do your own web APP, not a variety of environment building. And meteor provides free deployment services, beginners can deploy their own things to the meteor of the official server, which is a good motivation for the beginning of learning, haha, write a todo list deployment up, and then a circle of friends to blow a wave of it.


Meteor Current deficiencies:
    1. Many documents are in English. At present, I see a better Chinese document is probably discover Meteor Chinese version, but the introductory book I Yourfirst METEOR application http://meteortips.com/book.pdf in addition, The Domestic geek College has video tutorials, Chinese.
    2. There are too few people in the country. At present there are few users in Chinese community, many problems still need to come to the site to find the answer.
    3. The supported components are not rich enough. This is a problem for all the new things, but Meteor is growing fast, and now the mainstream components (such as bootstrap, etc.) have great support.

-----------2016-6-23-------------
Since there are still people who might see the above mentioned content, make a supplement so as not to learn a half-day to find information outdated:
In order to be consistent with the latest JavaScript standard ES6, Meteor 1.3 has made major changes, such as the reference to the new standard must be import, instead of all the file code can be accessed as before, so if you want to learn the latest Meteor, Still need to look at the official guide (well written, very detailed).

Ps:meteor 1.3 is back-compatible, so there is no problem with the code you wrote in the previous way.

How to evaluate Facebook's relay framework? What is Meteor.js?

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.