When Google is busy fooling around Android, don't forget HTML5!

Source: Internet
Author: User

Preface

---------------------

Recently, I was planning an LBS project, so I started with HTC G8 and Suwon 1700. I didn't know whether it was psychological or not. I suddenly found that the blog Park homepage was full of Android. At the beginning, I was very happy and felt like I had found a team. However, after studying Android and iPhone for a long time, I gradually found many problems with Android.

 

Which one makes money on Android and iPhone?

----------------------

The story of iPhone's overnight wealth has been spread all over the streets. An Angry Bird has earned yuan, but what about Android? The same game only received million advertising fees, and I heard that the water is still very high. My colleagues and I have studied this problem and come to the conclusion:

1. The iPhone is a gold mine and is suitable for mobile app and game software development. For market segments. Such as games and image processing software in a certain field. Because old Joe laid a beautiful road for us to get rich and set a certain threshold.

Therefore, the iPhone software is upgraded, the development team is upgraded, and the players are also upgraded. The user pays for the service and should receive reasonable services. Both parties have responsibilities and obligations, and this market will inevitably be able to develop.

Therefore, if you want to develop something to sell for money or pay for it by outsourcing projects, You must select the iPhone.

 

2. Android is in the initial stage of XXXX for a long time. Android is positioned to be open-source and free-of-charge. The entry threshold is very low. Basically, it understands Android by understanding Java, and there is no strict approval and release system, A half-finished product is also a hundred-year-old masterpiece.

I went to the Android app market. More than 50% of the above applications are "junk Applications ". All the friends you have used must share the same feelings. Simply writing a word through a graph is a game, which is terrible.

Therefore, if you select Android, you can choose platform development. If you are an SNS platform or LBS Platform, you can choose to provide value-added services for free. Android is the best choice.

 

By the way, to develop an iPhone, you need to install a virtual machine of the Apple system, and then download a 2g api Development Kit. I heard that the cloud should be certified when released to the software market. Therefore, I think it is not a high-quality product, you can consider how to return to the next step.

 

Android programming

--------------------------------

I spent a few days studying the android API, some of which are well written, such as using the MVC idea (I personally feel a bit of a puremvc taste), front-end XML description, use the unified XML registration interface control, and the backend obtains the control through getxxx. Different interfaces are passed through the message mechanism (intent). It looks good at first glance.

 

But !! I would like to say that a large part of Android APIs have been overarchitecture (over-architecture ). A lightweight architecture is enough, but Google does not seem to be satisfied, so various inheritance relationships are used, and a lot of xxxview and xxxactivity appear, A base class method is used to call a database. For example:

Code Cursor C = Mdbhelper. fetchallnotes ();

Startmanagingcursor (C );

String [] From= NewString [] {notesdbadapter. key_title };

Int[]= New Int[] {R. Id. text1 };

Simplecursoradapter notes=

NewSimplecursoradapter (This, R. layout. notes_row, C, from, );

 

Light thisStartmanagingcursorI am very disgusted. in architecture, it is my database call, which is close to your activity. Why should I retrieve it from the base? Will there be a lot of hidden methods?

If it is lightweight, it should be accessed from helper. The architecture is composition vs inheritance. if you have been using UML, you will know that you will always recommend composition instead of inheritance, because the latter will only make the project more and more huge and chaotic.

But the problem is that there are many hidden methods in the android demo, especially the demo of notes, which is a typical inverse example (Anti pattern ).

Okay, I did see this.CodeIt's uncomfortable, and it's uncomfortable why we need a new intent, and then pass in odd constants to implement communication. Such freedom should not be so constrained.

 

Before getting started with me, I would like to summarize that although Android uses Java syntax on the surface, its programming ideas are deeply restricted in a specific mode, therefore, Android development has a certain learning curve, and cannot be freely called.

 

HTML5 !!!

---------------------------

Just as I was preparing to silently accept the abuse of Android, I suddenly remembered that there was a child of HTML5 who seemed to be half dead. So I immediately checked the information! I am very excited that most smartphones currently support HTML5! (Practice has proved that even the G8 browser can smoothly run HTML5 web pages)

This is definitely good news. In addition to a variety of odd tags, HTML5 also supports obtaining geographical locations and local data persistence. And,Cross-platform!

I briefly compared Android DEVELOPMENT AND HTML5 development. HTML5 supports almost all of the most dazzling front-end effects. Pure JS programming is sufficient, and there is almost no learning curve in the form of HTML pages.

Therefore, if gravity sensing is not involved, contacts of mobile phone users are secretly obtained, and WiFi is secretly enabled, HTML5 is enough to deal with most development applications.

 

Summary

-------------------------------

Android is born to be a tough task. To develop high-quality applications on Android, it is better to directly invest in the iPhone.

Therefore, if you are going to join the android army, you should be a little bit clear at this moment. Since it is free software and there are many information sharing applications, Why not choose HTML5?

 

Finally, I used the client next to the street as the representative to give a counterexample. I decomcompiled the client next to the street and found that most of the code is "browser code", which is a typical request response mode. However, the "street-side" Technology is not completely transferred, I chose Android development. I don't need to mention the size of 2 to 3 m, and it is very troublesome to update the version.

 

Think twice!

 

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.