Lab 4: Choosing technologies
- Due Oct 27, 2020 by 5:30pm
- Points 2
- Submitting a text entry box
Web technologies (5 min)
In Discord > Everyone
The web is full of technologies for implementing websites. Unfortunately, every year there are hundreds of new ones, and many that change dramatically. This means that not only are web and mobile developers constantly having to learn new things, but they're also having to evaluate whether to learn new things.
The problem you face in this class is whether to learn and use new technologies in the next 6 weeks before your 1.0 will be deployed.
Here's what you already have to use:
-
- HTML
- CSS
- JavaScript
- React
- Git
If everyone on your team is already feeling uncertain about their mastery of those technologies, consider just relying on those alone!
However, some of you may feel confident in those technologies and want to learn to use more. For example, some popular frameworks on the web can make it easier to build applications, or easier to build more sophisticated applications:
- npm Links to an external site. is a package manager with millions of little libraries for simplifying development tasks. It's often essential for accessing a JavaScript library, including React.
- Vue.js Links to an external site. is a React alternative that's a little less flexible but a little bit faster
- Node.js Links to an external site.allows you to run JavaScript on the server, which allows you to build server-side web applications and share code across client and server.
- ReactRouter Links to an external site. allows to you to more easily build single-page web applications that are fast and have clear URLs to navigate to different parts of an application.
- TypeScript Links to an external site. is an extension of JavaScript that allows for static type checking, helping you build more correct code more quickly.
- TensorFlowJS Links to an external site. allows you to build and deploy machine learned classifiers in the browser.
- Firebase Links to an external site. is a whole collection of convenient web application functionality, including databases, authentication, hosting, cloud storage.
Designers may new tools to learn, to prototype, to create icons, choose colors, choose typography, and do user testing. What tools will you use?
Choosing technologies (20 min)
In Discord > Team Channels
- As a team, discuss your goals in this class again.
- Do you want to learn new development and design tools?
- Do you want to strengthen your understanding of the minimal set of technologies?
- Does your project demand using some technology or new API?
- Figure out how much time do you have to learn and who has to do the learning.
- Are any of your teammates experts who can help implement and teach?
- What risks do you impose if someone struggles to learn something?
- Will all the work fall to the expert?
- When will you learn?
- What's your best estimate of how long it will take to learn the technology?
- As a group, build a consensus about what you'll use based on all the factors above.
Consult with your peers (20 min)
In Discord > Role Channels
-
Project managers, discuss:
- Discuss how you will manage the risk and uncertainty of your team learning new technologies
- How will you check in with your learners and make sure they have the resources they need?
-
Designers, discuss:
- What new technologies will you be trying to learn?
- How will you organize your learning activities?
- What resources do you have for supporting your learning?
- What risks do you see in learning something new?
-
Developers, discuss:
- What new technologies will you be trying to learn?
- How will you organize your learning activities?
- What resources do you have for supporting your learning?
- What risks do you see in learning something new?
Document your decisions (5 min)
In Discord > Team Channels
Individually submit notes about your team's decisions to Canvas for credit. Chat with your teammates to make sure you're on the same page. Consider drafting it together, posting it in your Discord channel, then uploading to Canvas for credit.