官术网_书友最值得收藏!

Preface

Mobile applications ceased to be the "new hotness" a long time ago, and these days users routinely expect that new software—be it a videogame or a social network—has a mobile version. Similar trend affects desktop operating systems; writing cross-platform software, once uncommon, has swiftly become a norm. Even game developers, usually limited to Microsoft operating systems on desktop, can be seen working on Mac and Linux ports for many new titles (for example, Steam, at the time of writing, hosts more than a hundred games that run on Mac and more than 50 that run on Linux).

This is especially valuable for start-ups and indie developers: building truly cross-platform software widens the potential audience, which leads to increased sales and may create good press along the way.

On the downside, writing portable software can be a very resource-hungry process, and this also affects small developers much more than big corporations.

In particular, many platforms have a preferred programming language and software development kit (SDK): iOS apps are mostly written in Objective-C and Swift, Android suggests the subpar Java programming language, and Microsoft promotes the use of the .NET framework, especially C#, for building Windows software.

Employing these tools allows you to leverage the native user interface and underlying functionality of an OS, but it also automatically prevents code reuse. This means that even if you are equally proficient in all programming languages and interfaces involved, porting the code may still take a non-trivial amount of time and introduce new bugs.

主站蜘蛛池模板: 额尔古纳市| 三台县| 永康市| 监利县| 新和县| 麻城市| 中江县| 台北市| 克东县| 大埔县| 兴山县| 浦江县| 盱眙县| 德化县| 杨浦区| 措美县| 乌鲁木齐县| 当涂县| 溧水县| 扎兰屯市| 颍上县| 山阳县| 雅江县| 肇庆市| 蒙阴县| 乌拉特后旗| 张家川| 尼木县| 贺州市| 郑州市| 石楼县| 临澧县| 徐州市| 财经| 阳朔县| 永泰县| 鄢陵县| 安国市| 湘潭市| 汾阳市| 商丘市|