Today marked the completion of Project 4 in the 100 Days of Swift challenge. This particular project was interesting and brought out a tremendous amount of new concepts to the table. Simplistically, the goal was to create an array of web sites and display one in a ViewController using the WebKit library in iOS. You would also need to create a navigation button to allow the user to select another predefined web site. If the user attempted to navigate to another domain you were not to allow that.
On the surface that seemed like a daunting task. I mean I was around in the early days of the Internet and lived through the browser wars seeing first-hand how difficult it was for Microsoft and Netscape to create web browsers that would not crash. Those early iterations of a web browser showed that in many cases the only taste developers had was in their mouths.
As Paul Hudson laid out the goals of the project I could feel my blood pressure rise and beads of sweat form on my forehead. I had a feeling I was in for a really long day as I tried to work through the lectures and follow along. At the end of the project let me just say that I was perhaps a little paranoid.
Rather than having to fend for ourselves developing a way to open a network connection, traverse the various layers of the OSI model to account for network protocols, packets, and presentation elements; Apple has made the task almost pedestrian.
The WebKit library is amazing. With just a handful of lines of code and some well-placed calls to the library we quickly had web pages displaying within the application. Even the validation to determine whether the website domain was within the safe parameters only took creating a small function and calling it. I don’t want to say it was so simple that even a caveman could do it after all development is a little more difficult than selling insurance but overall it wasn’t too bad.
As the exercise ended my confidence was brimming. I had created a web browser capable of browsing two web sites. At this rate by the time I die my browser would be able to navigate to every site on the web, I would just have to code the URL into my array. Yeah I’m pretty sure this is how Firefox, Safari, and Chrome work.
0 Comments
Trackbacks/Pingbacks