Today in CSDN home see a recommendation article "RETHINKDB: Open source database for real-time application"
Look at the sample code, as follows:
R.table (GEO). Get (' SFO ') (' location '). Togeojson.run (conn, callback);//result passed to callback{ ' type ': ' Point ', ' coordinates ': [-122.423246, 37.779388]}
Reminds me of the time when Ajax technology was emerging, there was a well-known JavaScript framework (forget the exact name, called Jsrmi), and it was similar to trying to invoke the remote logical interface (RMI) through JavaScript on the front page.
From the perspective of the users of these frameworks-that is, the developers of Internet applications-if I do not understand the error (RETHINKDB I did not look at its feature list), both are trying to solve (part of) The business logic problem on the front end-or we call it intrusion back-office business, The difference between the two is only the degree of the different--jsrmi is only "tentative" intrusion into the business logic layer, and rethinkdb is simply rude directly to the data layer.
So, there is a vague feeling, this feeling has already, but always can not be clarified, may wish to write down, for later reference verification.
As my title says: Warning:caught anjavawebdeveloperexception () in Mobiappage.foward () function
I felt a warning. Warning, although it has not been upgraded to the ERROR, FATAL, crash and other levels, but also a relatively clear omen, especially for web development programmers-that is, the world has changed, the traditional development of Internet application mode has changed.
Java early slogan write Once,run anywhere is the application scenario is washing machines, refrigerators, televisions and so on, through the Internet of the East Wind, to Javaapplet the visual performance of the scene, and then because of Flash, and immediately disappeared, Get into the back-end app and get great success.
In this transition, the development of Internet applications is divided into two distinct camps: back-end development: heavy logic and business-front-end development: heavy effects and expressiveness.
However, the advent of the rich client, in deconstructing all this.
Although the rich client's formulation is very early, but in accordance with the Internet industry fucked "concept first" practice, until today, we can affirm and confirm its influence, such as: mobile applications.
Our battlefield began to move from PC to mobile terminal-although the PC's " user share " is still the big head, but from the market reaction, the mobile side of the " share of profits " higher, but also reflect the "Law of Value": both from the perspective of the capital side or Labor side.
A simple example is: 5 years of Java Web developers and 2 years of Android developers who are more likely to achieve the desired salary level?
I have no intention to provoke controversy or express a certain position on the technical level of the two developers, and do not want to criticize some enterprises for quick success, swarming thinking mode, to cite this example simply explain the market to the degree of technology recognition.
Perhaps web backend developers should be able to be alerted to " Front/back end development " some kind of balance of destruction, even bowed down to admit some of their arrogance-"write Java is to build atomic bombs, write JavaScript is sell tea egg." In fact, the golden egg silver bullet or the villain, in the final analysis is the market decision.
For example, the rise of node. JS, I think is a very obvious and very successful "demand determinism" footnote.
I'm not interested in comparing node. js with some of the Java frameworks, which is just as boring as arguing that "Java and C + + have better performance"-we should have realized that there is no bad development language, only bad developers.
In my eyes, the biggest feature of node. JS is- It's JavaScript-based . That's why it's successful: traditional rich-client developers focus on the flash-based action script domain and browser-based JavaScript domain, both of which are subsets of the ECMA script-and because of this, Developers can easily and quickly build prototypes, validate product designs, and quickly launch on-line.
In the traditional development model, the front-end development of the separation of the situation, the real most direct-to-consumer developers to spend and waste a lot of time and effort to communicate the needs, determine the interface and the various back-end Function module of the developers between the buck.
The Battle of mobile applications is brutal, with traditional software engineering and project management experience to hard-set-many of these experiences are also derived from the Internet-agnostic industry software sector-tantamount to suicidal behavior.
In this highly volatile and rapidly changing environment, a good PMP may never reach the "neuro-cat" three-day visit to billions of achievements-although the success of the "neuro-cat" has some "inexplicable" ingredients, but undeniably, this product and development of " speculation " It has even become the norm in mobile apps--release more than 10 or even dozens of small apps, and expect one of them to be successful to recoup all the costs!
Focus on the user, the experience of the application and even visual expression-the eye economy, people-oriented, and make money, the big environment decided the front-end developer's position is gradually important, and then the application of the developer's "Lonely" and "thankless" is inevitable.
Let's imagine a scenario where the "old programmers" of our long-term backend development are still designing MVC (models, views, control layers), thinking about DTOs or Pojo, and so on, and so on, front-end developers say: "You rest, not so troublesome, I use RETHINKDB, REBUILDDB, Refactordb and the like directly call the database is good, anyway the logic of the app is not complex, and I call it more convenient.
It's stressful, isn't it? But I think it's interesting--and that's what I've always advocated--that any system or structure should be a simple, not a complex trend.
In the final analysis, this is a client-initiated murder-comrade Hamlet asked God without words:THIN OR FAT client? This is A QUESTION.
The reality is that the mobile app's rich client location, determines the fight in the back end of the comrades to put a lot of things to hand out, whether willing or unwilling.
Take the MVC pattern as an example:
The viewer has completely given up,
Controller can also control a yarn, Mobi app only for you want simple interface just
Model? node. JS is running on the server Ah, Pro ~
Writing here, there seems to be no particular nagging words, do a final note:
First of all, I didn't advocate JavaScript and belittle Java, but these two languages represent one of the most obvious differences-the complexity and stubbornness of the direct and variable VS implementation of demand-and I personally disagree with what OOP is playing with PHP and Python.
Secondly, one of my basic judgments is that in mobile applications, there is no clear distinction between the traditional front and back-end development, both of which are close--whether external forces or internal causes, willingness or reluctance. The trend of technology is more emphasis on the light-weight and rapid development of language, framework and services, the support of the service for real-time, interactive requirements higher.
Again, the traditional sphere of influence has not changed much in the thin client domain of thin clients, but only the environment, including the benefits--which is where developers struggle, at least a few Java developers switch to Android is a fact.
Finally, how to adapt to this change, I do not have any answer. Maybe
Go ahead-do Android, iOS development;
Go backwards to design and implement lower-level high-performance frameworks and services (perhaps throwing away http);
Go left, continue the old line, the simple "28 rate" words, 80% share is also a PC
Go right, sell fruit, sell jujube, why not eat it:)
Warning:caught an javawebdeveloperexception () in Mobiappage.foward () function