First, let me share some of the current trends in usability and architecture that I've observed.
Trends in Usability
Today, the user experience becomes more important than ever, and responsive web design (RWD) is also a must-have feature of the site. RWD enables end users to access websites on different sizes of devices, including mobile phones and tablet browsers. With RWD instead of a mobile site, we don't have to develop additional sites for mobile users alone. This is especially useful when we need to focus on how to present the content. But if you're developing a web app that contains a lot of UI interactions, and not a website, RWD can't help you. Remember that Web apps are different from websites. Twitter Bootstrap and Zurb Foundation are currently the most popular RWD frameworks. If you are developing apps for mobile users, I would recommend using a lightweight framework such as Yahoo! Pure CSS.
Trends in Application Architecture
The mobile-first policy in the enterprise also affects the WEB development architecture. When an organization develops Web applications and Web services, they adjust their own mobile policies as the main direction. And today, Web APIs have become the center of Web applications and mobile applications, where developers build restful services on the server side and then develop front-end applications for Web and mobile based on RESTful services.
The rise of API-driven development
In the Mobile World, APIs (especially RESTful APIs) have become a critical part of WEB applications, and server-side implementations have become a thin layer of data and security-related APIs. These RESTful APIs are not restricted to WEB applications, and mobile apps are also available. So the server-side code written by modern Web developers is used for both mobile applications and Web applications, giving us more opportunities. Another trend here is the rise of mobile back-end cloud services, such as the parse and service (MBaaS) cloud Platform solutions for Azure Mobile services. These MBaaS platforms provide automatic RESTful APIs for data models for a variety of specific mobile backend services. We can use the MBaaS service to develop WEB applications because they provide not only RESTful APIs, but also a JavaScript SDK for HTML5 clients along with the Mobile SDK. In the future, I firmly believe that MBaaS services will be widely used in WEB applications and mobile applications.
The appearance of single page application (SPA)
When the server side of the RESTful API is limited, WEB front-end development is migrated to the client, and the class desktop UI on the browser is rendered on the client instead of on the server side. In a SPA app, the front end simply calls the RESTful API to deliver the data, and then builds the complete UI on the client. In this case, JavaScript becomes a key technology for building WEB applications. One advantage of SPA apps is that we can easily package these Web apps into mobile apps using hybrid mobile containers (hybrid mobile container) such as Phonegap and Trigger.io. This approach can be used for small to medium-sized data-based UI applications. So we can build Web applications and mobile apps with a single piece of code.
In SPA-based Web development, JavaScript has become a key technology, and JavaScript skills are more important than ever. I have been exposed to different frameworks to develop some SPA applications and have noticed some challenges in this model. As follows:
When we are developing large-scale SPA applications, comparing the previous server-side approach, it becomes very difficult to maintain the application. I feel it's really hard to build a large JavaScript application to maintain maintainability.
It is difficult to implement complex security models on the client side, restricting different access levels of the UI for different types of authorization roles.
My views on the SPA framework
Currently Angularjs, Emberjs and Backbone are some of the most popular SPA frameworks for practical use. I have evaluated these three frameworks and used them to develop applications. In my experience, AngularJS is the most productive framework with the features you need to build a large SPA application. As fools see it, using the mv* framework for front-end development is not a good approach, and MVC is not suitable for large front-end applications. But now we're using MVC on both the server side and the client, and I don't think that's the best practice.
reactjs– stunning front-end frame
2014 trends in server-side web technology stacks
A few years ago, dynamic type languages such as Ruby and Python had attracted many startups. Until a few years ago, Ruby on Rails was a revolution in WEB development. Many startups have developed innovative products using the RoR and Python Web frameworks. But now interestingly, due to the challenges of performance and scalability, these applications are being rebuilt by other Web technology stacks. Using a dynamic type language in a large application is like drinking a drink with too much sugar. At first, the sweetness of the sugar will be more appealing, but in the long run it will hurt the health of the application. This year, we've seen many companies adopting node. JS, especially for building much-watched mobile app backend services. Large enterprises such as LinkedIn (LinkedIn) and Wal-Mart (Walmart) are using node. js to strengthen their mobile backend services. As a new technology, node. JS is the winner of the 2014-year adoption market. node. JS is also the preferred technology stack for mobile back-end service (MBaaS) cloud solutions. This year we also saw many command-line tools based on node. JS being used for front-end development. The rise of node. JS and the decline of the Ruby stack are the most noteworthy trends this year.
Here are some observations of the server-side WEB stack:
Ruby stacks, especially RoR, are losing power and large Rails applications are being re-built into other technology stacks.
WEB Development Using dynamic languages (Ruby and Python) has gradually lost its appeal.
node. JS is more used to build back-end RESTful services, especially in the mobile world.
The presence of the node. JS-based command-line tool for front-end development.
Microsoft. NET Web Stack and open spec OWIN will have a big shift – which is actually good for both ASP.
The advent of real-time WEB applications
Predictions for 2015 and beyond
What kind of technology will dominate the 2015? What kind of technology loses its momentum? I deeply feel that the era of WEB development using dynamic language is coming to an end. and is node. js going to build on the emerging technology market? I don't think so. Since 2011 I have been mainly writing the node. JS code and intend to write a book for it, but later gave up the plan. I have recently left the node. JS Platform for the following reasons:
node. JS is always emphasized as a technology for building high-performance applications, but for large applications it is the biggest challenge to support performance beyond availability and maintainability. So I predict that many large node. JS applications will fail in the near future due to maintainability issues, and the era of over-hyped node. JS will end.
Callback to Hell. I know that generator and promise are a good way to fix a callback to hell. Frameworks such as Koa.js provide a workaround at the expense of performance. But for me there are still a lot of problems that can't be solved.
The JavaScript language is also a problem for me. JavaScript is not suitable for building large-scale applications.
node. JS is a minimalist platform. For me, it's best to build a JSON-based REST API and real-time system. I want to use a single technology stack to develop a wide variety of applications. The problem is that node. js always fails when executing CPU logic (CPU crunching logic).
I use these problems with node. JS and others will, and there will be many usability problems with error handling, debugging, and usability. I believe maintainability will be a big problem for large node. JS applications. If you build RESTful services on node. JS, I strongly recommend that you use the Hapi.js framework developed by Wal-Mart, which is really doing well. I really admire Hapi.js author Eran Hammer.
In 2015 I was optimistic about the Go language, not just for WEB development, but also as a technology ecosystem for building distributed applications. For me, Go is a better choice than node. js. I predict 2015 many Ruby and node. JS developers will migrate to go.
Here are some of my predictions for 2015 and beyond:
Performance-focused WEB applications that are rebuilt from Rails to other stacks will reach peak values.
At least for performance-oriented Web applications, the era of web development with dynamic language is over.
Many node. js applications are stuck with maintainability issues. The pursuit of performance exceeding availability and maintainability may cause node. js to fail.
Go will appear as a common programming language that attracts the WEB developer community. Go will be a good alternative to Java and dynamic languages and the node. JS community.
Go will follow Cobol and Java into a wide range of languages for the next generation of businesses, but it still takes time. Go is the language of the cloud era.
Java and the. Net stack will continue to be the momentum for large enterprise applications, but will slowly decline in WEB development.
Go:2015 and the future of technology
There have been a lot of good apps developed with Go recently, including Docker and Packer.io. I predict that go will have a huge appeal in a variety of communities, including Java, Ruby, Python, and node. js. Go is a static type language but provides the flexibility of dynamic type language productivity. In the go language, concurrency is a class-one citizen of the core programming language. Similar to C and C++,go compiled into native machine code; unlike Java and. Net, it does not require any JIT compilation. I fell in love with the simplicity of Go, the practical design and the pretty handy package system. It might not be a good place to build a traditional Web application, but it's definitely a good place to do the HTTP server that provides RESTful services. In the future, you may also be able to develop Android apps with Go. The advantage of Go is that it is a general-purpose programming language that can be used in any possible scenario – including system programming and large distributed commercial applications. I feel strongly that go is a distributed, concurrent, parallel computing language that belongs to the cloud era. Go can become the next Java in the enterprise.
English from: Shijuvar
This article by Bole online jaward Andy Translation
The development trend of web development in the 2015 and future