Hack on the Hill — Setup shop
Web Development
If you’re just starting out with web development, there is an easy route called Cactus, which I will be talking about here. For those of us who are more advanced, we always have express:
https://www.npmjs.com/package/express
Cactus
Cactus helps you get set up with a basic server and html pages. To get set up, follow the steps:
If you don’t have pip/python installed open up the terminal app and type
brew install pythonAnd then its just..
pip install cactus
cactus create ~/Desktop/www.mysite.com
cactus serveYou can then open up google chrome (or any other browser) and head to http://127.0.0.1:8000
Fire up your favorite code editor, or if you don’t have one click the “download for mac” option on this link (https://atom.io/)
Now if you open up your project (open the folder at ~/Desktop/www.mysite.com) in your editor you can look at the source code for the website.
As those with web development experience just noticed, this looks like bootstrap! (http://getbootstrap.com/)
Make changes in your editor, save the file and notice them instantly on your browser(http://127.0.0.1:8000/index.html)!
For those of us who want to learn more about HTML/CSS:
HTML/CSS
jQuery
jQuery is a popular beginner javascript library. It helps you “make stuff move” on a website. I don’t think there’s anything particularly special about it over plain Javascript but for those who are interested — follow the link below
Mobile Development
We have two options here, iOS and Android
iOS
If you are here, you are a UCLA student. UCLA students get free lynda.com subscriptions, which is the best website ever to learn anything.
To access lynda.com, go to www.lynda.com/signin and something like the image below should show up.
When you land on the login screen, click “Sign in with your organization portal” and enter “ucla.edu” on the screen that follows.
You should now be able to access the “iOS 11 Development Essential Training: Create Your First App” course which is extremely helpful if this is your first app (Link to the course).
This is one of many courses they offer! Seriously, trust me lynda.com is much better than the free tutorials online, but if you must insist on not taking advantage of UCLA then here are a bunch of resources.
Links for iOS:
- ACM’s official IOS Tutorial →Starter Code → Slides
- Official Apple Guide
- AppCoda
- Big Nerd Ranch — This is an amazing book for those who really want to dive deep and get into the internals of IOS
Android
For android development, I am a big fan of the Lynda.com tutorial: Link.
I personally learned android through the “Applied CS with Android” course that Google teaches. It is an online course — Link and for folks with CS experience, and people who really want to learn android while learning algorithms/doing interview prep I would highly recommend this.
Links for Android:
- ACM Hack Android Development Guide — Check this out if you want a fast-paced intro to Android development
- Android authority — Good for a first app
- Official Google Guide
Game Development
Unity
For developing unity games, I would recommend starting with the Roll a Ball game through the official unity tutorial : Link.
Or if you are more accustomed to Visual Studio, here is another link. Also Microsoft has a wonderful video tutorial for building your first unity game: Link.
Version control
Git
Git is a useful tool teams should utilize to have safe development. This allows you to keep a timeline on your code as well as have teammates work on the project on their own machines safely. Here is a good tutorial on how to use Git and how to have them up on your own Github.
