JavaScript (React Native, node. js, etc.) mobile, server-side all-in-all Stack language

Source: Internet
Author: User
<span id="Label3"></p><p style="text-indent:32px;"><p style="text-indent:32px;"><span style="font-family:‘宋体‘;color:rgb(255,0,0);">Mr. Li Ning</span></p></p><p style="text-indent:32px;"><p style="text-indent:32px;"><span style="font-family:‘宋体‘;color:rgb(255,0,0);"></span></p></p><p style="text-indent:28px;line-height:150%;"><p style="text-indent:28px;line-height:150%;"><span style="color:rgb(255,0,0);"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">M.S. in Computer Science from northeastern University. Former Shenyang Neusoft Project Manager. </span>51CTO <span style="color:rgb(255,0,0);font-family:‘宋体‘;">College contracted Lecturer. Engaged in software research and development for over</span> a <span style="color:rgb(255,0,0);font-family:‘宋体‘;">year. has long been engaged in</span> Java<span style="color:rgb(255,0,0);font-family:‘宋体‘;">,</span>Android<span style="color:rgb(255,0,0);font-family:‘宋体‘;">,</span>IOS<span style="color:rgb(255,0,0);font-family:‘宋体‘;">,</span>C + +<span style="color:rgb(255,0,0);font-family:‘宋体‘;">,</span>Swift<span style="color:rgb(255,0,0);font-family:‘宋体‘;">,</span>objective-c, <span style="color:rgb(255,0,0);font-family:‘宋体‘;">and Cross-platform game engines ( </span>cocos2d-x<span style="color:rgb(255,0,0);font-family:‘宋体‘;">,</span>unity3d, <span style="color:rgb(255,0,0);font-family:‘宋体‘;">etc.) Development and technical guidance Work. It has a deep understanding and research on the technology, theory and practice of the relevant fields at home and Abroad. </span></span></p></p><p style="text-indent:28px;line-height:150%;"><span style="color:rgb(255,0,0);"><span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">The main publications include the</span></span>Cocos2d-x<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">Practical Game Development Guide (forthcoming),</span></span>Swift<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">the authoritative guide, "</span></span>Android<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">Deep Exploration</span></span> <span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">Volume</span></span>1<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">and volumes</span></span>2<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">","</span></span>Android<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">development of the authoritative guide (second edition),</span></span>Android<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">development of full handouts (third edition),</span></span>Android<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">High-tech Road Interview Treasure book ","</span></span>Android<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">Deep Exploration (volume</span></span>1<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">):</span></span>HAL<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">and drive development ","</span></span>Android<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">application Development Combat (second edition), "</span></span>Java Web<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">Development Technology Daquan:</span></span>Jsp+servlet+struts+hibernate+spring<span style="color:rgb(255,0,0);font-family:‘宋体‘;"><span style="color:rgb(255,0,0);font-family:‘宋体‘;">"and Other Bestsellers. </span></span></span></p><p style="text-indent:32px;"><p style="text-indent:32px;"><span style="font-family:‘宋体‘;"><br></span></p></p><p style="text-indent:32px;"><span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">whether it's an Internet company, a traditional software company, or a non-</span></span>IT<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">enterprises, Most of them need to develop various types of programs, including mobile</span></span>App<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">(mainly</span></span>Android<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">and the</span></span>Ios<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">),</span></span>Web<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">programs, service-side programs, and so On. These programs use different development techniques, such as</span></span>Android<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">Use</span></span>Java<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">development,</span></span>Ios<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">Use</span></span>Objective-c<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">or</span></span>Swift<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">development,</span></span>Web<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">Program page Use</span></span>Javascript<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">,</span></span>HTML5<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">,</span></span>Css<span style="font-family:‘宋体‘;">and <span style="font-family:‘宋体‘;">service-side choices, such as</span></span>Java EE<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">,</span></span>Php<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">,</span></span>Python<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">,</span></span>Ruby<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">,</span></span>Node. JS<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">and so On. In theory, each type of program needs to be completed by a different development team, such as</span></span>Android<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">Development teams,</span></span>Ios<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">Development team, Service-side Development team, etc. It's no problem for big companies, but there's more money anyway. But for most startups, it could be a big Burden. </span></span></p><p style="text-indent:32px;"><span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">to solve this problem, there are many cross-platform technologies, including</span></span>HTML5<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">of hybrid development,</span></span>C++<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">Cross-platform solutions, and More. But these are just cross-platform. We solved it.</span></span>Android<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">and the</span></span>Ios<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">the problem of maximizing the sharing of code (there is still a part of the code that cannot be shared is written separately), and the server still wants us to develop with other technologies, such as</span></span>Java EE<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">. But ever since I got one,</span></span>Node. JS<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">later,</span></span>Javascript<span style="font-family:‘宋体‘;">has <span style="font-family:‘宋体‘;">become the development language of the server, and has</span> a</span>React.js<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">, the system will</span></span>JSX<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">The code (described later) is automatically converted</span></span>Web<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">of the page</span></span>Dom<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">Element. This way,</span></span>Javascript+jsx<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">, together with</span></span>web+<span style="font-family:‘宋体‘;">the <span style="font-family:‘宋体‘;">service side is done together, but it seems to be missing something, right, Mobile (</span></span>Android<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">and the</span></span>Ios<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">), This is the subject of this article:</span></span>React Native<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">, here is a detailed introduction</span></span>React Native<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">, as well as for designing</span></span>Ui<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">of the</span></span>JSX<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">. </span></span></p><p style="text-align:left;text-indent:32px;"><p style="text-align:left;text-indent:32px;">React Native <span style="font-family:‘宋体‘;">is</span> a framework <span style="font-family:‘宋体‘;">for the development</span> of Android <span style="font-family:‘宋体‘;">and</span> IOS apps by Facebook <span style="font-family:‘宋体‘;">at</span> the react.js Conf convention <span style="font-family:‘宋体‘;">. The main programming language is</span> JavaScript<span style="font-family:‘宋体‘;">, and</span>the UI <span style="font-family:‘宋体‘;">uses</span> JSX (a UI Description Language <span style="font-family:‘宋体‘;">that</span> is<span style="font-family:‘宋体‘;">syntactically similar to</span> XML <span style="font-family:‘宋体‘;">). </span></p></p><p style="text-align:left;text-indent:32px;"><p style="text-align:left;text-indent:32px;"><span style="font-family:‘宋体‘;">so</span> What <span style="font-family:‘宋体‘;"></span> 's the <span style="font-family:‘宋体‘;">difference between reactnative and react.js? </span></p></p><p style="text-align:left;text-indent:32px;"><p style="text-align:left;text-indent:32px;"><span style="font-family:‘宋体‘;">there are two parts to any cross-platform framework:</span> UI <span style="font-family:‘宋体‘;">and Logic. For both of these technologies,</span>the UI <span style="font-family:‘宋体‘;">uses</span> JSX<span style="font-family:‘宋体‘;">, and the logic is</span> JavaScript<span style="font-family:‘宋体‘;">. </span></p></p><p style="text-align:left;text-indent:32px;"><p style="text-align:left;text-indent:32px;"><span style="font-family:‘宋体‘;">The main difference between</span> React Native <span style="font-family:‘宋体‘;">and</span> react.js is JSX<span style="font-family:‘宋体‘;">. Whether It's</span> React<span style="font-family:‘宋体‘;">Native, or</span> react.js<span style="font-family:‘宋体‘;">,</span> there's <span style="font-family:‘宋体‘;">a technology</span> on the UI: virtual Dom<span style="font-family:‘宋体‘;"></span><span style="font-family:‘宋体‘;"></span></p></p><p style="text-align:left;text-indent:32px;"><p style="text-align:left;text-indent:32px;"><span style="font-family:‘宋体‘;">So what is</span> Where's virtualdom <span style="font-family:‘宋体‘;">? </span></p></p><p style="text-align:left;text-indent:32px;"><p style="text-align:left;text-indent:32px;"><span style="font-family:‘宋体‘;">actually</span> JSX <span style="font-family:‘宋体‘;">is just a kind of grammatical sugar. </span>the Web <span style="font-family:‘宋体‘;">manages</span> Element <span style="font-family:‘宋体‘;">through</span> the DOM<span style="font-family:‘宋体‘;">. </span>The efficiency of Dom <span style="font-family:‘宋体‘;">is very low, in order to improve</span> the efficiency of Dom <span style="font-family:‘宋体‘;">,</span>react.js <span style="font-family:‘宋体‘;">provides</span> virtualdom, the<span style="font-family:‘宋体‘;">work of this technology is completely in memory, and is the incremental modification </span>DOM <span style="font-family:‘宋体‘;">tree, So the efficiency is very high. </span></p></p><p style="text-align:left;text-indent:32px;"><span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">for</span></span>Web<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">, the actual rendering still requires</span></span>Dom<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">, so in the final render is,</span></span>Virtualdom<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">is still going to be converted into actual</span></span>Dom<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">. And for</span></span>Android<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">and the</span></span>Ios<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">, there is no</span></span>Dom<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">of the concept,</span></span>Ui<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">is fully implemented by local controls, such as</span></span>Android<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">in the</span></span>TextView<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">,</span></span>EditText<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">and so On. So</span></span>React Native<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">was Born. If you say</span></span>React.js<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">at Run time, the</span></span>Virtual DOM<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">mapped into a</span></span>Dom<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">, then</span></span>React Native<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">is when you run</span> the</span>Virtual DOM<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">mapped into</span></span>Android<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">and the</span></span>Ios<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">the local Control. </span></span></p><p style="text-align:left;text-indent:32px;"><p style="text-align:left;text-indent:32px;"><span style="font-family:‘宋体‘;">as can be seen from this point,</span> React.js is <span style="font-family:‘宋体‘;">used for</span> Web <span style="font-family:‘宋体‘;">development, and</span> reactnative is <span style="font-family:‘宋体‘;">used to develop</span> Android <span style="font-family:‘宋体‘;">and</span> IOS apps<span style="font-family:‘宋体‘;">, and they all</span> abstract the UI <span style="font-family:‘宋体‘;">into </span>virtual dom, which <span style="font-family:‘宋体‘;">maps</span> virtual DOM to Dom<span style="font-family:‘宋体‘;">when actually running,</span> <span style="font-family:‘宋体‘;">which</span> maps the virtual DOM to <span style="font-family:‘宋体‘;">a</span> Native controls for Android <span style="font-family:‘宋体‘;">and</span> IOS <span style="font-family:‘宋体‘;">. </span></p></p><p style="text-align:left;text-indent:32px;"><span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">because</span></span>Reactnative<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">of the</span></span>Ui<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">still used</span></span>Android<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">and the</span></span>Ios<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">local control, so the</span></span>Ui<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">the rendering is already very close</span></span>Native App<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">up. Although the business logic code uses</span></span>Javascript<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">, but because</span></span>Javascript<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">is immediately compiled, that is, the first time the runtime</span> will</span>Javascript<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">the code is compiled into binary, so</span></span>Javascript<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">operating efficiency is Higher. therefore,</span></span>React Native<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">operating efficiency is more efficient than based on</span></span>HTML5<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">,</span></span>Css<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">and other technologies of</span></span>PhoneGap<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">,</span></span>Appcan<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">much higher, because these technologies are used directly</span></span>HTML5<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">for rendering, and</span></span>HTML5<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">will be heavily used</span></span>Dom<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">technology,</span></span>Dom<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">in the</span></span>Pc<span style="font-family:‘宋体‘;"><span style="font-family:‘宋体‘;">End of</span></span>Web<span style="font-family:‘宋体‘;">is <span style="font-family:‘宋体‘;">not fast, It is slower on the mobile Side. </span></span></p><p style="text-align:left;text-indent:32px;"><p style="text-align:left;text-indent:32px;"><span style="font-family: ' The song Body ';"> summary: based on the </span> Reactnative<span style="font-family: ' The song Body ';" the < span> app<span style="font-family: ' song body '; '" in a running efficiency close to < span> Native app<span style="font-family: ' The song Body ';" and there are two advantages of the hybrid development model: hot update (no need to recompile upload < span> app<span style="by" ) to be updated and not store<span < span> App Font-family: ' The song Body '; > Audit) and cross-platform (reduced learning costs, using the same technology to develop </span> android<span style="font-family: ' Arial ';"> and </span> IOS App <span style="font-family: ' song Body '; '" ). < span></span></span></span></span></p></p><p style="text-align:left;text-indent:32px;"><p style="text-align:left;text-indent:32px;">OK<span style="font-family:‘宋体‘;">, now know</span> React Native, is<span style="font-family:‘宋体‘;">not going to learn it! mobile,</span>Web <span style="font-family:‘宋体‘;">and server-side use of the same technology can be solved, although all need to develop, but the technology is universal, that is, as long as</span> <span style="font-family:‘宋体‘;">the JavaScript programmer, can simultaneously solve the mobile,</span>Web <span style="font-family:‘宋体‘;">and Service-side problems, Use a development team to solve all the problems, and no need to recruit</span> Java<span style="font-family:‘宋体‘;">,</span>OC<span style="font-family:‘宋体‘;">,</span>java EE<span style="font-family:‘宋体‘;">,</span>PHP <span style="font-family:‘宋体‘;">programmers, which will save a lot of money to start-up Companies. </span></p></p><p><p><br></p></p><p><p>Complete conquest of React native video course</p></p><p><p><span style="font-family:‘宋体‘;">Other video lessons from teacher Li Ning</span><span style="font-family:‘宋体‘;"><br></span></p></p><p><p><span style="font-family:‘宋体‘;"><br></span></p></p><p><p><span style="font-family:‘宋体‘;">Geek culture public Number (geekculture) (used to publish the source code of Li Ning's book and information related to the video Course)<br></span></p></p><p><p><span style="font-family:‘宋体‘;">650) this.width=650; "src=" http://s4.51cto.com/wyfs02/M01/85/97/wKiom1epgxbSNHUSAAAfe-kLkf8052.jpg "title=" qr code. jpg "alt=" wkiom1epgxbsnhusaaafe-klkf8052.jpg "/></span></p></p><p><p>This article is from "li Ning's geek world" blog, Please make sure to keep this source http://androidguy.blog.51cto.com/974126/1836109</p></p><p><p>JavaScript (React Native, node. js, etc.) mobile, server-side all-in-all Stack language</p></p></span>

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.