It has been a while to develop applications based on the meego platform, especially in the last month or so. At present, the code at this stage has finally been frozen and updated. Therefore, we have time to calm down and summarize it.
1. the meego platform is in a state of continuous updates. Some underlying libraries are updated quickly in the upstream, but when compiled to the meego platform, the update speed is far behind that in the upstream. Such a policy is similar to a desktop environment such as ubuntu. For the development team, if you use the meego sdk and simulator, there will be no major problems. However, our team uses the method of directly installing the latest versions of some underlying libraries on the PC, such as libmeegotouch, and then developing code and debugging and running on the PC, then use the meego sdk to re-compile the target platform. The advantage of this method is that it is easier to develop, the disadvantage is that the database version on the PC is higher than that on the meego platform, and you need to check whether the function matches the version frequently.
2. the meego application starts at a slower speed than the qt program. on PC, the startup speed is barely acceptable, but on our target platform, it is surprisingly slow, beyond the tolerable range, we are further analyzing the causes of slowness and trying to solve the problem.
3. meego uses the tracker database. According to the learning situation of our team members and the feedback from third-party teams, this is difficult and the learning cost is relatively high, although trackr is very powerful.
4. meego's Audio Subsystem is the recommended pulseaudio audio background program. In the recent period, no audio-related programs were found in the development task, so the pulseaudio status was not continuously tracked, however, according to the debugging results of the previous two months, the pulseaudio on meego has not reached a very stable state. (We use intel processors and platforms. The meego Audio Subsystem on the arm platform may be different. I have never used it)
5. meego's video subsystem uses the gstreamer framework at the backend, which makes it easy to use. However, gsreamer is still too low-layer and upper-layer application developers are recommended to use the multimedia Framework in qtmobility, this is also a new thing to learn. (In the libmeegotouch code I downloaded more than a month ago, there was an MVideoWidget file that can be used to play local videos directly using gstreamer, however, in the latest libmeegotouch code, This widget has been removed, probably for multimedia in qtmobility ). In addition, although the underlying framework is gstreamer, The gstreamer plug-in related to hard decoding is still unavailable, and it may take a while to integrate it.
6. the mouse gestures on meego are based on qt's gesture, which is still not complete yet. five basic gestures defined in qt are currently available on our platform, the most strange thing is that the transfer of gestureEvent is uncertain. Sometimes this event exists, but sometimes it does not. Therefore, we have adjusted the code several times.
7. css in meego, which is the biggest headache we have encountered. When we upgraded the css file in the PC and run it on the meego platform, it was very strange that the overall failure occurred, after checking it many times, our css language is absolutely correct. However, we found that the reason for overall failure was actually the space at some locations in the css file, a certain unit value, or a decimal point. There is no way to solve this problem. You can only wait for the meego upgrade on the platform.
8. Black screen. This is a system-level bug. When the program is running, black screen often occurs and xserver restarts.
9. the event loop hangs. This is found in the test. The program interface is still running, but it does not respond to any events. Through debugging, it is found that the entire event loop is suspended somewhere, this directly causes the program to fail to respond to subsequent events, which is difficult to further debug and is not resolved yet.
In summary, meego is not stable enough to meet the product-level requirements. We need to continue our efforts. As a meego platform application developer, We hope meego can be improved as soon as possible.