Palace Coffee, 1:00 – 2:30 PM
Kenneth Jackson, Mark Nair, Carrie Zinck, Anette Carlisle, and also Noah Leal.
- Discussed the progress/Swift understanding so far based on class content.
- Set next meeting for 2019-02-22, 12:00 pm, Palace Coffee.
Items discussed today
- Kenneth and Mark discussed FileMaker. Kenneth briefly showed the expenses app that he put together for Anette using FileMaker. Filemaker works on Windows, Mac, iOS, and the web. Can be hosted on a variety of servers.
- Mark also mentioned 4D as another good relational database.
- Mark noted that the difference between Swift and Flutter is similar to the difference between Toyota and a Toyota Factory.
- Mark noted that Swift is the most embraced language and explained some of its benefits to Noah. He noted that its primary benefit is readability. It is open source. Noah downloaded XCode today.
- Noah reported on the code academy that he attended in Berlin. 25-30 students. It was an intense 9 weeks, roughly 12 hours a day, 5 days a week. Each day was roughly an hour of lecture followed by being paired randomly for 10 or so coding challenges. 5-6 recently-trained teaching assistants were available. There were also projects. A solo project was a drink-mixing website. An AirBnB clone was a group project. Topics included functions, variables, databases, web design, and ruby on rails. The final project took 2 weeks, pitched by students. The students voted on the best options and formed groups of 4-5. They proceeded through the full project lifespan.
- Mark noted that ruby on rails interprets as C (it also contributed to Jango, the CMS called Druple that’s based on PHP). Swift is a C-style language but it also uses delegates for data. Swift is 4th gen.
- Mark brought up databases. Noah said that they used ruby on rails and MySQL, and uploaded to Oruku (sp?).
- Mark mentioned that we should discuss wireframing tools.
- Mark discussed autolayout. Get file from http://www.marknair.com/amakit. Autolayouts handle different screen sizes and orientations. They use “points” instead of pixels.
- We opened a blank new project.
- Add a label.
- Another way to see the list of phone sizes/orientations is to click the Related Files button (top left next to the < button) and hold down OPTION while selecting Recent Files >> Main.Storyboard. You can then click + in the bottom left to add more views to your screen. This is particularly handy with dual monitors. Changes will update on the fly.
- Mark demonstrated horizontally and vertically aligning a label in the container and how to reset constraints.
- Points work sort of as a percentage of the screen, as opposed to fixed pixel positions. Mark noted that the code for the constraint is visible in the folder tree.
- We added a vertical stack. We added two labels to it and noted that the stack shrinks to contain what is inside it.
- We added the images from Mark’s site to Assets. There are PDF and PNG, and user2 has three different sizes. In the folder view, you can press Command + i to see the image sizes on each one.
- If you are using a BMP or non-vector image (BMP, most PNG, JPG, GIF), Swift will take care of the resolution on higher-resolution devices if you provide a higher-resolution file. Naming convention is @1x, @2x, @3x.
- Note: This does not matter on vector/rasterized images (PDF, vector, illustrator). Unsure if you can use EPS.
- We inserted an image and constrained its aspect ratio.
- ***Keep the images for next time!
Topics to discuss in a future meeting/online
- Constraints and auto-layout layering (stacks in stacks), handling buttons at the bottom when rotating the device
- Delegates for data
- API issues
- Getters and setters (actions based on variable state changes)
- Sprite Kit, Game Kit