Simple web browser with TouchBar implementation that supports multi browsing with rows and/or columns.
This is part of the course Hacking with macOS - Build 18 Desktop Apps with Swift 3
by Stephen DeStefano• iOS / macOS Developer / Swift Instructor
The current project as of 8 Aug 2017 is as taught in the course.
New features such as implementing the following, are not included in the course:
- Auto search in address bar -> Google
- Add shortcuts to add a column or row
- Hide Go Back and Go Forward buttons when applicable
- Browser styling
- Add reload button
- Refresh or stop when applicable
Multi web browsing, sharing for social media: Twitter, Facebook, LinkedIn, etc. Swift -> MacOS
- NSStackView -> This allows each window/tab to have the right constraints to fit into the window
- WKWebView -> This is used to display the websites
- URL and URLRequest
- isLoading
- CALayer -> Since MacOS doesn't have Core Animations integrated, we use this so we can select a specific tab/window
- NSClickGestureRecognizer -> This allows us to detect a click for a particular tab/window
- #selector -> used normally in buttons. It triggers a function defined in the current viewController
- Auto Layout (programmatically) -> Sets the constraints for: leading, trailing, top and bottom
- Anchors
- NSTouchBar -> This will only be available for OSX 10.12
- NSPopOverTouchBarItem -> Shows additional buttons for the TouchBar
- CustomizationLabel
- NSSharingServicePickerTouch
- NSSegmentedControl
- NSButton
- makeFirstResponder()
Selected column will update the current address in the textfield
Using 3 colums
Using 3 colums and 2 rows
Feel free to submit issues, suggestions and enhancements.
To contribute, create your own branch and send pull requests to merge back into master.
Another alternative:
- Fork this project and clone it into your machine.
- Make changes to it and commit
- Push changes to your own forked repository.
- Submit a pull request to review your code before it gets merged into the original master project.