-
The question is too broad and not good.
At least the following:
System: iOS development must be based on Mac computers, even virtual machines.
Although Windows software development also requires a Windows system, it is not necessary, but it is extremely difficult to develop under other systems (there should be few people who are uncomfortable with developing Windows programs with other systems).
Development software:iOSThe development seems to have to be given to XCODE (Apple's official bar) under Windows is mainly VS (VS2008 VS2010 etc.),There are other third-party programs,The choice is relatively large。
Development language: Object C for iOS
Windows uses more, C++, VB, C (I don't know what F does).
I'm talking about some of the main aspects.
-
iOS can be said to be the mobile version of Apple's Mac (more or less an embedded development product for Mac). The Mac is a Unix-like system, and the system structure is different, so the implementation of the application is also different. In addition, Windows is a PC platform (most of them are x86), and iOS is a mobile device platform (ARM), so the instruction set of the CPU is different, so you have to use a different development environment.
But if you want to do it, if you know how to develop Windows, it won't be too difficult, because the language is universal (for example, it can be written in C C++), but the structure of the program is a little different.
-
So as long as you build the corresponding development environment, if you are very good at writing Windows applications, then other platforms are also handy, and many computer languages such as C C++ are cross-platform.
-
From the first generation of iOS in 2007 to the latest iOS 8, seven years have been in the blink of an eye, and the gesture-operated iOS has redefined the mobile phone, and also gave birth to the existence of the profession of iOS application developer. Now, Apple's new product launch conference is imminent, let's start with the latest iOS 8, and look back at the many iOS application development tools that Apple prepared for developer Yu Mingtong in those years, and what developers and the industry have said after them.
Develop Xcode
Many developers admit that there is no second company with such a complete development tools and development language as Apple, indeed, Xcode, Apple's official integrated development environment for developers, from the project builder inherited from Next to the present, has developed to Xcode 6, and will usher in the official version in the update and improvement.
In the latest Xcode 6, in addition to the innovative programming language Swift for Cocoa and Cocoa Touch, a new iOS emulator has been added, allowing developers to adjust the size of the app according to the device, and to achieve real-time preview of the effect, and the new View Debugging function, which can be debugged with just one click.
Debugging instruments
In order to ensure the best user experience for the app users, Instruments enables the app to be analyzed and debugged directly when the app is running on an iOS emulator or device. Instruments provides a timeline interface that collects data such as memory usage, disk activity, network activity, and graphics performance directly from the running application, all in a time-aligned manner, giving developers a clear view of the application.
-
1.Window and window jump,Window under Mac development is more like a viewcontroller in iOS,The size of the window is set by yourself,And the way to convert the window has to find the right one。
2.Commonly used controls, the most disgusting is NSSlecessView, which is fundamentally different from UIClecessView. It is worth mentioning here that if you are a newbie, it is very likely that you will not be able to find where to go with Row when you use NSItindexPath under Mac.
At that time, I was so angry that I wanted to die, anyway, you use it directly. item on the line, you will know the specific use. Other controls are more or less different, for example, the view does not have a backgroundcolor, and you will not find the label (go to the control to find the label, and see that the inherited class is actually nstextfield), so if you want to initialize the label with pure**, use textfield instead....I can't finish digging the tomb, I really have to learn to explore it by myself.
3.Personally, I feel that the layout constraints under MAC will have memory leaks in the ARC environment.,In short, I can use less and use less.。
If you can't meet iOS development, you can basically solve it even by just searching.
Mac development encounters can't be solved, even if you use Google, you often find that you want to vomit, and you can't find a solution.
-
Answer: 1. iOS is developed by Apple itself, it seems that the historical recourse started from FreeBSD, FreeBSD is a UNIX derivation, the iOS kernel should be developed in C language, not open, I personally think that the kernel is C, and the upper layer is still written in C++. As for object-c, it is the development language used to develop software on iOS.
2. Advantages of C language:
1) Simple, compact, flexible and convenient. There are only 32 keywords and 9 control statements in the C language, and the program is written in a free and case-sensitive manner. Combine the basic structure and sentences of a high-level language with the usefulness of a low-level language.
2) Operators are abundant. The C language has a wide range of operators, with a total of 34 operators. C treats parentheses, assignments, and castings as operators.
3) Abundant data types. The data types of C language are: integer, solid, character, array, pointer, struct, and share.
4) The expression is flexible and practical. The C language provides a variety of operators and methods for expression values, and the expression of problems can be obtained in a variety of ways, and its programming is more active and flexible.
5) Allow direct access to the physical address to operate on the hardware. Yuan Hui.
6) The quality of the generation target is high, the program execution efficiency is high, the description of the problem in C language is faster and faster than that of assembly language, the workload is small, the readability is good, and it is easy to debug, modify and port, and the quality is comparable to that of assembly language.
7) Good portability. 86% of the C compilers on different machines are public, so the C compilers are easy to port.
8) Strong expressiveness. The C language is rich in data structures and operators. It contains various data structures, such as integers, array types, pointer types, and union types, which are used to implement the operation of various data structures.
9) C language can directly access the physical address of the hardware, and can perform bit operations. It has many of the advantages of both high-level and low-level languages. It can be used to write both system software and application software, and has become a general-purpose programming language.
In addition, the C language has powerful graphics capabilities and supports a wide range of displays and drivers. And the calculation function and logical judgment function are powerful.
3. Disadvantages of C language:
1) The disadvantage of C language is mainly manifested in the encapsulation of data, which makes C have great defects in data security, which is also a big difference between C and C++.
2) The syntax restrictions of C language are not too strict, the type constraints of variables are not strict, which affects the security of the program, and the array subscript is not checked for out-of-bounds. From an application perspective, C is more difficult to master than other high-level languages. In other words, for those who use the C language, they are required to be more proficient in programming.
-
1. As long as the ecological environment uses the Apple mobile phone, all the applications must go through Apple's app store, that is, as long as the applications run in Apple, Apple has a set of strict rules. But at this point, there are too many applications in the domestic environment that are different from the Android system**, whether they meet the standards or not, they can be uploaded directly, and the applications in the hands of users are already varied, so the rules and control are too different from iOS.
There will be this kind of experience in app development, the review of the macro oak apple app will be very difficult, as long as it does not meet the rules, it will be audited, but to a certain extent, it can be stuck in irregular applications, and Apple has made a huge amount of restrictions in many aspects in order to run smoothly, and has spent a lot of effort, just take a simple QQ information display, QQ information will be sent directly to Apple's server and then transmitted to the mobile phone, so that a large amount of information will not be piled up to affect efficiency. In the background to open the application in Apple is also a lot of restrictions,On Android phones, many applications seem to not get enough permissions to directly not let the application run,So the more applications are installed, the larger the memory space occupies,The main too many applications need to run in the background,So many Android phones are still very smooth when they are first bought,The result is getting more and more stuck,Some people even put forward that foreign Android phones are obviously much smoother than domestic Android phones,It can only be said that domestic applications are too bottomless。
2. Hardware configuration Apple mobile phone will choose the most high-end in the current market in terms of material selection and hardware, because the high-end rendering of ** is not a problem at all, at the same time, the entire industrial chain of Apple mobile phone is led by Apple itself, unlike Android mobile phones that have made a lot of frameworks in order to be compatible with various mobile phone manufacturers, and there are a lot of call levels invisibly, and the efficiency will naturally be greatly reduced, so Apple's hardware configuration is not the highest, but the degree of fluency is staggering, which is the essential difference, Android is an open source system that has to take care of various manufacturers, so it adds a lot of compatibility or regression in it, and it is impossible to block all the ways, which is not conducive to the establishment of the ecological chain.
For these reasons, there is no second company that can develop a system similar to Apple's.
There is a Huarui school in Changsha that specializes in software, and I graduated from that school, and now the salary is not bad, and there are more than 10,000 yuan.
The main steps of software development are: project analysis, definitive development, requirements analysis, design, programming, and software testing. >>>More
The failure of the design solution will lead to the failure of the entire system and eventually the loss of everything. >>>More
There is nothing good or bad about Android software development, it mainly depends on whether it meets your own requirements, choose the right one, different Android software development companies are good at developing software in different industries, and choosing that one also depends on what industry you are. Based on our experience in Android software development, let's introduce you how to choose. >>>More
Learning software programming is a long and painful process that requires perseverance and patience. For a beginner, the most important thing is to lay a good foundation, it is recommended to start with C language, C language as the basic language, most of the high-level programming languages are evolved on the basis of C language, learning C language well, it is helpful to master other high-level languages, and master software programming.