|
| 1 | +# Aerian Multi Browser |
| 2 | +Simple web browser with TouchBar implementation that supports multi browsing with rows and/or columns. |
| 3 | + |
| 4 | +This is part of the course [Hacking with macOS - Build 18 Desktop Apps with Swift 3](https://www.udemy.com/macbookapps/) by [Stephen DeStefano• iOS / macOS Developer / Swift Instructor](https://www.udemy.com/macbookapps/#instructor) |
| 5 | +The current project as of 8 Aug 2017 is as taught in the course. |
| 6 | + |
| 7 | +New features such as implementing the following, are not included in the course: |
| 8 | + |
| 9 | +1. Auto search in address bar -> Google |
| 10 | +2. Add shortcuts to add a column or row |
| 11 | +3. Hide <b>Go Back</b> and <b>Go Forward</b> buttons when applicable |
| 12 | +4. Browser styling |
| 13 | +5. Add <b>reload button</b> |
| 14 | +6. <b>Refresh</b> or stop when applicable |
| 15 | + |
| 16 | +# Features |
| 17 | + |
| 18 | +Multi web browsing, sharing for social media: Twitter, Facebook, LinkedIn, etc. |
| 19 | +Swift -> MacOS |
| 20 | + |
| 21 | +* NSStackView -> This allows each <b>window/tab</b> to have the right <b>constraints</b> to fit into the window |
| 22 | +* WKWebView -> This is used to display the <b>websites</b> |
| 23 | +* URL and URLRequest |
| 24 | +* isLoading |
| 25 | +* CALayer -> Since MacOS doesn't have Core Animations integrated, we use this so we can select a specific tab/window |
| 26 | +* NSClickGestureRecognizer -> This allows us to detect a click for a particular tab/window |
| 27 | +* #selector -> used normally in buttons. It <b>triggers a function</b> defined in the current viewController |
| 28 | +* Auto Layout (programmatically) -> Sets the <b>constraints</b> for: leading, trailing, top and bottom |
| 29 | +* Anchors |
| 30 | +* NSTouchBar -> This will only be available for <b>OSX 10.12</b> |
| 31 | +* NSPopOverTouchBarItem -> Shows additional buttons for the TouchBar |
| 32 | +* CustomizationLabel |
| 33 | +* NSSharingServicePickerTouch |
| 34 | +* NSSegmentedControl |
| 35 | +* NSButton |
| 36 | +* makeFirstResponder() |
| 37 | + |
| 38 | + |
| 39 | +# Screenshots |
| 40 | + |
| 41 | +Selected column will update the current address in the textfield |
| 42 | + |
| 43 | + |
| 44 | +Using 3 colums |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | +Using 3 colums and 2 rows |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | +# Contributing |
| 53 | + |
| 54 | +Feel free to submit issues, suggestions and enhancements. |
| 55 | + |
| 56 | +To contribute, create your own branch and send pull requests to merge back into master. |
| 57 | + |
| 58 | +Another alternative: |
| 59 | + |
| 60 | +1. Fork this project and clone it into your machine. |
| 61 | +2. Make changes to it and commit |
| 62 | +3. Push changes to your own forked repository. |
| 63 | +4. Submit a pull request to review your code before it gets merged into the original master project. |
0 commit comments