It is easy to make a mobile application, but it is difficult to be mature and excellent. In the afternoon of July 29, the CSDN Mobile Development Club invited a number of senior developers such as Android engineer Chen, ThoughtWorks development engineer Liu Longjun to share best practices in Android application development.
Design and optimization in Android application development
During a long period of commitment to operating the mobile developer platform, the application Analysis tool AU's creative team summed up a set of Android application development technology and design experience, during this period, the founding team members of the Alliance, senior Android developer Chen to share.
Ally Android Engineer Chen: Every detail in development is closely related to the end user experience
Chen that development and optimization directly determine the final experience of the application, the specific performance in three aspects: 1. Whether the operation reaction is smooth and fast, whether the touch response time is too long, whether the ANR (creator not Respond) and the network waiting are very fast. 2. User operation is smooth and natural, development should pay attention to do UI adaptation, do not break from the background, avoid copying iOS design practices. 3. Save electricity for the user. In development, it is necessary to avoid the local operation of complex algorithms, avoid frequent tuning of service and network requests.
Chen summarizes the difficulties encountered in Android development: 1. In the face of the current variety of OS, resolution and screen size, but also increasing, multiple terminal adaptation has become the most headaches for developers. 2. Memory management. The Android system allocates a maximum memory limit of 24M for each application, and many developers experience a lack of memory allocation. In the speech, Chen a detailed sharing of performance analysis, memory, view and network optimization, code reuse, user data processing and other aspects of the technical issues to be noted.
How to do Android development? Chen recommends Android engineers: 1. Use tools such as TraceView and monkey to test applications. 2. Optimize the view using tools such as layoutopt and Ninepatch. 3. Like Android native application learning, follow best practices. 4. Master a server-side language/framework. 5. Develop a sense of UX. 6. Do the application analysis. 7. Use of Third-party tools.
Automated testing in mobile development
In the development of Android applications, the various types of testing are essential to ensure the quality of the final product, and automated testing is an integral part of the process. ThoughtWorks Mobile Platform Interest Group Liu Longjun a project for example, sharing some of the experience and benefits of automated testing when developing Android apps.
ThoughtWorks Liu Longjun: Automated testing can help improve code quality
The project is a similar mobile phone flight query application, through HTTP Send query request to remote API server, processing return results and show. The entire automated testing process in development is divided into unit testing, automated functional testing, improved functional testing framework, and the introduction of BDD (behavior-driven Development) test framework four steps.
After the whole project process practice and multiple requirements changes to the test framework adjustment, for the application development of automated testing work, Liu Longjun summed up four tips: 1. Automated testing can help improve collaboration between technical and customer teams, help teams understand business requirements more thoroughly, and assist in guiding development. 2. Functional testing and unit testing overlap the part, the developer should take into account the time and energy spent and find the probability of defects, as far as possible to find the balance point. 3. Automated testing does not test the user's sense of the application or the animation effect. 4. Maximizing the value of automated testing requires continuous integration of the environment so that you can continue to get feedback on test results.
Application Show link, Adview Technical director Zhang Qigang Introduction advertisement aggregation platform Adview Development Road
What technical issues are the developers concerned about?
In the open space discussion, the club also invited the micro-cloud CTO Majo, Liu Jinrui wireless technology Director, Adview Technical director Zhang Qigang, Dynamic media android engineer Ye Huijun, Tianyu mobile phone research and development engineer Zhang Xuhui, friend Alliance Android engineer Chen, ThoughtWorks Development Engineer Liu Longjun A number of senior developers, and members face-to-face communication mobile development technical difficulties.
Discuss technical problems face-to-face with development experts
In addition to the lecture topics of two lecturers, the discussion found several hot issues of concern:
Cross-platform or multiple terminal adaptation issues. That is, how to fit the application to multiple platforms faster and better. Qi Yi Technology Director Liu Jinrui reminded the large screen and high-resolution options have become increasingly important. In addition to make the interface when you must set aside a scalable range, leaving the page stretching space.
The advantages and disadvantages of mobile web, especially HTML5, as a cross-platform solution. Majo, a micro cloud CTO, thinks that if you use HTML5 as a gaming app, you can now try it on iOS and the Android platform is relatively inefficient.
Platform Selection. Many developers focus on the problem because there is a lot of time and effort behind it, and some industry trends such as Android patent lawsuits worry them. Micro Cloud CTO Majo that as a qualified mobile developer, mastering at least two languages is the basic skill.
Security for enterprise-class applications. More and more enterprise software embrace mobile, how to deal with data security problems, is one of the important things to consider in advance. Some members share their experience: encapsulating business data as components for all clients, while the client level does not directly process the data but invokes the component, which acts like a customized browser, and is one of the current approaches.
Sign up for the next issue of CSDN Mobile Development Club: Mobile Applications for operational promotion
(Responsible editor: admin)