As a programmer, there are various technical trends that coexist and are gradually replaced. For example, HTML5 will replace Flash and Android will occupy half of mobile development. So how can programmers choose advantageous technologies, so as not to be eliminated in the tide of technology has become a top priority, today to the majority of programmers to introduce some of the technology that must be understood and how to look at these technology trends from the whole.
Viewpoint 1: HTML5 is a trend, but it is not your advantage
HTML5 is a trend, but it is definitely not the best choice. At this stage, it cannot give you a silver bullet. So why is it so hot and what will it bring to you? Major vendors such as Microsoft, Google, and Apple have targeted HTML5. This will be the best weapon for them to divide the Web. Whoever makes good use of it will win the final victory. In this thrilling battle, no one will accept anyone. You have "innovated" the HTML5 feature. Well, it's good. I have also implemented it to achieve better than you, my friends may wonder if this is not a sound competition. HTML5 will become more and more prosperous. However, do not forget that HTML5 is only a draft at this stage. Standards are not yet defined. In this case, various so-called "Innovations" have formed a wide variety of APIs. Well, this is a tough battle for developers to be compatible. Maybe you still like to waste time writing some compatible code that shouldn't have been there, and you also like to spend about half of the time debugging javascript. Why does IE6 account for a large proportion of browser users in China? I think there are several reasons:
1. Too many pirated XP systems.
2. Internet cafes are basically Internet Explorer 6.
3. State-owned enterprises or large enterprises use ie6.
How long do you think it will take to kill IE6? Looking back at HTML5, mobile phones must be compatible, not to mention the application to PC browsers? Users are not sensitive to browser version replacement, and do not expect any breakthrough in the three points I mentioned above. Then let's look at the profit model of App Store, and then think about whether there is a profit model for Web apps, and some developers have already begun to make profits? If no? Do you dare to eat crabs for the first time, and you are not afraid of others walking over your body? If you want to use HTML5 to span all platforms, it will take a long time to go. First, the Giants can come up with a protocol. When you look at the entire landscape from the fog, you will find that the Web world is constantly being divided, and the technology you use (HTML5 + CSS3 + Javascript) they broke the entire landscape and started a new round of mahjong. Of course they did not play a small card. On the other hand, Apple, Google, and Microsoft all have their own software stores and mobile operating systems, and open HTML5 will have an impact on their original business. This means that HTML5 may only be the prince of various princes.
Moreover, the HTML5 standard will not be finalized in recent years. The design + tens of thousands of tests + negotiation by major giants + implementation by browser vendors may not be short in this period of time, now that the HTML5 standard has been set, you can use it to develop it, and most users have installed your latest browser, and your latest browser supports the XP system, are these prerequisites perfect? The user's needs are endless. Poor, HTML5 cannot be implemented, and software vendors have to say to users that we cannot meet your needs. HTML5 cannot be implemented. Unless, unless the standards are changed once, the software vendor is helpless. What do you think of here? Yes, once a standard is set up, it will be difficult to change it, and the user is tight in implementing the functions above the standard, What do you choose at this time? Undoubtedly these Browser Extensions: plug-ins. Therefore, let go of your prejudice and make HTML5 and plug-ins friendly. Their future roles must be complementary.
Opinion 2: Why does Flash occupy more than half of PC rich clients?
Microsoft is good at late childbearing, and Silverligh is undoubtedly one of them. When major browser game manufacturers use Flash to make profitable products, Silvelight is well known by major manufacturers, however, familiarity may not be useful, which leads to an obscure growth. First, let's analyze the problem.
1. There are many mature Flash works and the open-source community is active.
Why do you want to give up your profound background and use your Silverlight? What are the highlights of your development? What are the advantages of late commit?
2. Silverlight is low-profile and unknown.
Most of the applications developed with Silverlight are enterprise applications, which are unknown. No one knows which software is made with Silverlight. This creates an inexplicable phenomenon and many things are done, however, there is no visibility, leading to obstacles to promotion.
3. Few Silverlight-related jobs and rare job opportunities
There are too few positions provided by major software developers, so developers always think that Silverlight has no future. You can go to a large recruitment website and search for the Silverlight keyword. In the Beijing region, full time, last week, I found only 20. In such a big environment, who dares to learn Silverlight? This is where the short board is located.
Opinion 3: Innovation Workshop
I use three metaphors to illustrate the innovations in the innovation workshop.
First: chicken and eggs:
In an inappropriate statement, an innovation workshop is equivalent to a chicken, and its incubating company is equivalent to an egg. Chicken is responsible for egg hatching and logistics. She has a wealth of channels, resources, and fame for egg use. The role of egg is to break the shell and then grow rapidly. Egg and egg remain the everlasting topic. The best answer to this sentence may be mutual beneficial symbiosis.
Second: entertainment companies and stars:
"If you want to make a fortune, you must first be famous." If you don't know which of your predecessors put forward this idea, you must have a unique vision. Entertainment companies provide a stage, and other means depend on you, whether it is a potential or a show, is not readily available. This set can also be used in innovative workshops, where the Logistics Department is well organized for you. Your job is: unsuccessful, famous first, famous, and making money. Let the public know that you have such a person, and then slowly get out of the product. The entertainment circle is catching up with the trend. Whether it is a cold or warm stream, you may be out of the game once you say it again. The same is true for companies incubated in innovative workshops. In doing so, I can understand that the traditional internet requires a few years of accumulation, and it is impossible to see results in the short term, and the cost is relatively high. We also summarized the new word: "Pop Effect". Explanation: it is easier to use popular platforms to make popular products.
Third: master server and sub-Server
The advantage of server clusters lies in the ability to make better use of resources and load balancing. With this advantage becoming more and more prominent, the concept of cloud is coming soon, when this group of "group cloud" is centered on innovative workshops and its incubation company is fully operating its sub-servers, it is highly load-intensive and efficient, high resource utilization seems to be far from reaching. When the innovation workshop turned to "Business warfare hacker", who could resist the DDOS attack? No doubt.
To sum up:
A chain of mutually beneficial symbiosis is cleverly connected by a mother-child, a mother-child, and a mother-child. The parent company shares resources, products, wealth, and experience, in a few days, "group cloud" will stand out and have to admire the ingenuity of this model.
Opinion 4: Prince-> HTML5
This argument is about the changes that HTML5 brings to the mobile Internet industry.
First, the transplantation of so many platforms is really tragic.
A rough calculation: currently, mobile devices may come on several platforms: Symbian, Windows Phone, Android, iOS, and Windows 8 in the future. The cost of transplantation can be imagined. In contrast, HTML5 can basically achieve cross-platform development, and the support of various mobile browsers for HTML5 is also "scrambling", for fear that it is too late, in addition, some open-source frameworks for developing web apps are also very good, such as PhoneGap and JQuery Mobile.
Second: Trends and trends
Windows seems to have gone through the C/S to B/S transformation process. Of course, some C/S software is irreplaceable, but the advantages of B/S software are also very obvious, as a result, mobile phone development seems to be on this path, making version updates easier and more flexible.
Third, the application store is corroded.
Mobile app developers may not be unfamiliar with the "Black Card" of the software store. Of course, even blacker techniques may not be revealed yet, but this holy land is gradually swallowed up by the darkness.
Fourth, I want to be free.
The increasing threshold and review system of app stores make many developers look forward to the store. Some good applications may be eliminated by auditors who hate your software. I think you may not be able to accept this situation, but this is the truth.
Opinion 5: JavaScript is not very powerful
To be honest, I am a strong supporter of JS. Her programming method is flexible and changeable, and it is a pleasure to write a program, but some problems need to be raised.
(1): lack of a powerful IDE
As long as the JS file contains more than 2000 lines, debugging and development are very inconvenient. It takes a while to add a space, I look forward to an IDE that can accelerate code parsing and intelligently perceive custom attributes and methods. I don't know who can recommend it to me. I currently use VS2010 SP1.
(2) development efficiency
If JavaScript is used, you should know what is going on. This is unavoidable and must be solved.
(3) Operational Efficiency
Although the major browser vendors are competing to increase the JS engine parsing speed, JS's own characteristics and browser limitations make the parsing speed quite slow.
(4) Compatibility
Endless compatibility tests and adjustments seem to take up half of the total development time. For people like me who have "code cleanliness", they are absolutely intolerable. In short, this is a waste of time and energy. However, things have all changed. some third-party libraries, such as JQuery, can prevent us from paying attention to compatibility issues. However, some scenarios are not suitable for such a large library, such as HTML5 game development. In addition, the HTML5 performance in various browsers is also inconsistent, and the support is not in place, it is a lot of work, too boring.
(5) Source Code Protection
JavaScript obfuscation + encryption + compression = open source.
Any JS Code, no matter how it is done, is a superficial article, but the real code still needs to be executed in the JS engine.
The Code executed by the JS engine is always the most authentic, and I can just get the real code.
Unless the major browser vendors take this issue into consideration and make reasonable measures, it is possible to implement source code protection.
For details, see:
Viewpoint 6: concepts that programmers must possess
When we operate those APIs to develop software, have we ever thought about the similarities among the languages we used? for, if ...... in these similar syntaxes, do we find that we have no creativity, and everything is proud of how many classes and methods we have mastered? What is covered in the flashy world is the essence, but it is the most important thing to think about it. Friends, let go of your impetuous mind. Don't discuss the future of any technology or the future of any technology. When we grasp the motive power of thinking, all weapons come with us, and the trick points to the key. HTML5 is the trend and the trend of the future. Silverlight and Flash are the current solutions and powerful weapons of HTML5 in the future. They are complementary. I opened an open-source library yesterday, and many of my friends downloaded it. I hope this will help you, and I hope you can share your own library, this is because it is not just a simple way of sharing, but a way of emancipating your mind and letting you learn to grasp the essence, cultivate ideas, and discard this API-based programming method.
Opinion 7: My android
Android is my favorite mobile platform operating system. The reason is similar to the following:
1. Open Source
2. highly customizable
3. User Group
4. booming mobile devices
Have you ever wondered whether future smartphones, mobile tablets, or other devices are customizable and personalized. This demand may not be available now, but I believe it will definitely emerge like a volcanic eruption in the future. For such requirements, closed systems will be powerless. In contrast, android, a member of the Linux family, naturally undertakes the responsibility of open source. In the future, it will no longer be the pattern of separation of hardware and software. Instead, various companies will launch personalized devices and systems to seize this maritime market. This is a slow transition from high-end to low-end, and also a path to progress in the world. Currently, applications developed for mobile devices are mostly designed based on existing APIs, and then sold through software stores. The opportunity I see is the chain effect after the combination of smartphones and embedded devices (such as IC cards) or smart phones and other devices (such as automobiles). It can not only be applied to entertainment, it is more convenient for your life, and you can freely imagine how a device operates several kinds of devices. There is a lot of machine in your hands, and I feel like it is everywhere. When a smartphone can replace the company's attendance card swiping, when a smartphone can replace various remote controls and so on. Android, a highly scalable operating system, is undoubtedly a stimulant for mobile devices.
However, it's far from exciting.
1. The open handheld device alliance is the real master of android.
2. The version is messy. To V4.03, there is a standard specification. But far from that many users are updated to the latest version, you still need to be compatible.
Viewpoint 8: somatosensory system
Looking at the success of the somatosensory system, it is hard to imagine how attractive it is to people. The somatosensory system not only makes players feel that they are integrated into the main character, but also fully interacts with the game. It also conforms to the concept of "Happy sports and healthy Games. The mobile device field requires a somatosensory system. "gyroscope" and "Compass" can only meet the needs that do not affect the screen senses. However, a game with a large motion margin may not be competent. Imagine that when a sensor is embedded in a bracelet or ankle, a player can play exciting games on various occasions and wave his foot to enjoy not only happiness, but also physical exercise, the most important thing is that this may become a trend. When such a "Ray brother" dance in the subway, his face is full of intoxicating. Will passengers be curious when they see it? When this video is transmitted to Youku, will the public be curious to see it? Curiosity is human nature. Let the facts get more intense. Online combat is a distinctive feature of somatosensory games on mobile devices. When the two enemy trains met, they did not look as if they were in the dark. Their eyes were full of hatred, but they took out their mobile phones. They Ignored everyone's surprises and started a somatosensory battle. This was not a real man's PK, but it is better than a real-person PK. The game can make the enemy a friend, and everything is resolved on the mobile phone. This is also a small contribution to a harmonious society. If a company wants to try this direction, I guess he may first advertise, sell equipment, and then software, which will eventually be classified as a service.
Viewpoint 9: Platform and Product
The relationship between the platform and the product is the relationship between the mother and the child. But now it seems that the two are mutually constrained. As long as a product is developed, we must consider the porting issue. What's more, this issue is already under consideration at the initial stage of the survey. In this way, the indirect result is that the original intention of focusing on the product is not realized when the energy is used incorrectly. There are too many platforms on the market, and they are dazzled and dazzling. Some companies and programmers I have seen are always struggling on various platforms. What focuses on a platform, what focuses on a technology, and so on, instead, the product itself is ignored. The Internet is changing every second, and the platform has been booming for several years. The scenery has joys and sorrows. Therefore, it is not suitable for the platform and technology to focus on. In this context, cross-platform technology is gaining popularity. unity3d is one of the best. In terms of game development, its basic principles and applicability will never change. This is a common business, and various technologies and platforms are the means to implement its business, which is very important. Anyone who wants to take control of the global architecture and stick to the background, so people hope that products can be used across platforms to master a large number of users. Sometimes this kind of desire will lead you to become irrational and lose your original essential goals, this is what all IT people should look at each day! Cross-platform technology is widely regarded. It can enable people to focus on products instead of the platform and technology.