The profession of software development needs a strong self-learning ability, which is one of the most vital abilities for students as well. Having done some searching on the Internet, I am confident to say that the availability of pieces of knowledge online, especially technologies in computer theory and programming areas, is at a high level. That means learning online could considerably benefit the occupation of a software developer and other IT-related jobs. The tech stacks I used during the internship could be learned from essay tutorials, videos, and official documents. Besides, with the power of the AI programming assistant, GitHub Copilot, learning a new tech stack could be much easier than before. Totally speaking, every single technology is not isolated from the others; they work together to achieve a further outcome. Technical speaking, they achieved this result by sharing APIs with each other or entirely further designing based on another technology as a relationship of encapsulation.
Specifically, during my internship in BluPurple, I learned several technologies: React.js, Next.js, Vue.js, Nuxt.js, Vercel, Netlify, TailwindCSS, Firebase, Puppeteer, SwiftUI, and Vite. The development environments used: node.js, conda, and Swift; IDEs I worked on are vim, WebStorm, and Xcode.
Similar to Vue.js Single Page Application, SwiftUI Apps can be built in an MVVM pattern. Besides, there are also terms in SwiftUI similar to Vue components called views. SwiftUI has the main entry that contains several embedded views; refer to the following code, which implemented each row of features recommendation.
And the component renders an example:
Feel free to explore more exciting codes to implement mPark, and I have uploaded them on GitHub at Ex10si0n/MPark. Besides, internship codes have been open source at Ex10si0n/intern-codes for learning and referencing purposes.