Wednesday, December 19, 2018

Xcode?

Well it's been way over a year since I made a posting here so I thought I just fill in what I have been doing. As much as I want this site to be about Apple Mac and phone products, I decided at one point to look at Win10. as most of you know, Windows10 has to do with Visual Studio as a development platform. Also since I have Parallels running on a Mac, it allows me to run Win10, which in turn allows me to run Visual Studio. Now since I wanted to get into Objective-C, I decided to give it a try with Win10. Running it on a Win10 gave me the feeling of the old days of Dos development with a feel of a Windows environment. And basically even though Visual Studio has it's set of items that it is famous for, it didn't really have not much to offer when using the environment. During this time I also found out that Visual Studio was coming out for the Mac. I decided to give it a try, and it too reminded me of Win10 Visual Studio.

So then I decided to go back and study more on Xcode. As I began to use it, I realized that the environment has a lot more to offer for the developer. So since Apple was coming out with a new Obj-C and Swift, I turned my direction to these 2 areas for study. Now if you have never used Swift, it is designed for the entry level non-programmer type of person. I discovered this when my grandkids came home with their Apple iPads from school. I discovered that the school was now offering as part of their study Swift programming! Swift programming environment to me is more like the old school Basic programming environment. Everything you do gives instant results in a window. No complier to mess with because it asks like an interpreter environment. You type and make a simple program and run it with results instantly.

Now I also learned that Xcode offers Objective-C with Swift on Xcode, Once I started to use their environment it started to make sense on how Xcode works. But what I learned was Xcode also offers other programming options. This is where it really started to sink in on how thing work on an Apple product. Basically no matter if the output is for an iPhone, iPad, Apple TV, Mac or the Apple Watch, they all use the same programming setup. Now you can write programs in Obj-C, Cocoa,  C++, it doesn't change much. Also the environment has side columns that you can open and close to give you more programming features. The whole environment is highly user intuitive once you get used to it. It is a totally different process which you decide at the beginning to what is the program for what type of device. Once you learn the basics, it is a more interactive type of environment. It uses objects which for example on an iPhone you want a text box. From a list of objects you find a text box and drop it on a screen that resembles an iPhone. From that point on the code is already setup ready to add the guts of the program. Since everything is object oriented, it is far easier and faster to develop a program. The process of using objects was something I used to avoid for a long time because of the theory behind it. I was so old school was the reason why.

Once I started to understand the process, the power of this programming environment became a far better and intuitive way to develop for devices. Like I said the Swift code can also be dropped into the object environment for the programming so how cool is that! But this is a really brief overview of Xcode and there is a far more stuff I need to learn. But I tell you I have more enjoyment using Xcode than I do using Visual Studio, so isn't that what you want when using a tool? But there are far more options for the different programming options that you can choose from than what I talked about here.  It is so much more intuitive and powerful in a new way of thinking and it really make a lot of sense. I may never go back to Windows and Visual Studio because this is far better than I ever imagined!