Core software development trends

Source: Internet
Author: User
Tags silverlight

There are several trends in the software development field. The following are some of my core trends recently. This list does not list the trends of all software, but each represents a direction in which Microsoft is or will invest to ultimately benefit customers.

Cloud computing
Cloud computing allows companies to focus on the computing resources they need today, expand their capability to handle peak loads, and avoid Hardware Management overhead. Cloud computing allows small enterprises to use the existing environment to compete with large enterprises at reasonable and predictable costs. Windows Server, Windows Azure, SQL Azure, and services such as Windows Live, office, and Xbox Live are now deployed on the cloud. Microsoft has been committed to providing the best cloud computing platform and services for the Windows symbiotic environment. Cloud computing is just an example of a virtual computing platform. The next generation of development tools must enable developers to build software that can be well deployed and executed in the cloud and other virtual environments.

Web-based platforms
The browser provides a wide range of runtime environments and non-friction access to applications. Developers are increasingly choosing web as their software and software development platform. More and more developers and designers use tools that provide a wide range of development, debugging, and analysis specifically designed for the web. The javascript library allows web developers to use JavaScript to do more work than ever before to achieve a wide audience and immersive Internet applications. For example, Silverlight allows developers to get rid of HTML restrictions and take advantage of a series of resources and functions, while ensuring cross-platform compatibility.

Parallel Computing
Moore's law predicts that CPU performance will double every 18 months. At present, performance improvement mainly involves adding more processor cores, rather than improving the performance of a single core. This method provides multi-core processing capabilities for low-end machines. It has become a new trend to use low-cost and widely-available desktop computer graphics processors to execute certain tasks. In the high-end market, supercomputing centers are using clusters to perform complex computing tasks. Today, only a fewProgramMembers are written and run in multiple core environments.CodeSkills. In the future, parallel libraries, debugging, analysis, and diagnostic tools will allow more developers to take advantage of parallel computing resources.

Device Diffusion
As more and more low-cost devices can connect to the Internet, we all hope to access and interact with our data in a way suitable for our devices. We hope to be able to access our online identity and data conveniently and securely on all devices. Today, Microsoft provides access to user data through Windows Live and Xbox Live. The spread of devices will lead to the spread of user interface mode, and more natural and intuitive interaction with these devices. Touch-based, voice-based, and camera-based solutions become available and cost-effective. Microsoft uses these features to build intuitive user interfaces and continuously develop software. Windows 7 supports touch-based platform applications. Silverlight and WPF support camera-based interaction and multi-touch, just like MFC. I hope that the user interface model will continue to develop and become more intuitive and powerful.

Agile Development Process
Agile development processes, including scrum, test-driven development and continuous integration, are widely used in enterprise development and small specification developers. These methods are usually combined with other development practices. Within Microsoft, many teams have integrated the practical elements of agile development in their development process. Visual Studio 2010 opens the door to agile methods and provides support for some agile processes such as unit testing and iterative planning. In the future, we will continue to support more flexible agile methods.

Distributed Development
Distributed development allows team members to work closely across geographic separation and brings together global talents to seamlessly achieve common project goals. The development experience of a cross-time zone and Cross-Border Team should be as good as that of a single developer, and also include support for cloud computing-based development activities, such as distribution code reviews, remote team-end programming, developers/testers collaborate and share resources. Excellent distributed team development tools will leverage the world's talent pool to build the next generation of software.

Last...
These are not a complete list of future development trends, but we feel that these will be the future development direction of the software development field. I welcome your point of view: What trends do you think will be the most important in the future? Are these trends on this list? You are welcome to leave your point of view for comments.

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.