When it comes to hackathons, there is as much collaboration as there is competition. Whichever stage you're at, you will definitely need the best tools at hand. In order to create an app, developers need to have a solid set. Collectively, they are referred to as a Tech Stack.
The Tech Stack
It should be noted that the tech stack used for a mobile application will be different from what's used for a web application. They're fundamentally the same: there's a client-side element ("front end") and a server-side one ("back end"). It's key to consider technology on both the front and back end when a web product is being built.
Stack: Front End Tools (Client-Side)
As the name suggests, this stack's technology is what website visitors or app users see. UX (user experience) is the bottom line for this half of a tech stack. Additionally, clear internal structures and a user interface that is acceptable are necessary elements.
This stack cannot be complete without CSS, HTML, and Javascript. CSS helps data to be represented well, including fonts, background items, and the like. HTML, on the other hand, is responsible for where data goes and how it's structured in the first place. JavaScript is ideal for interactive needs, controlled through libraries like React.js or jQuery as they fit into Angular, Ember, and similar frameworks.
Stack: Back End Tools (Server-Side)
This stack makes sure that the website and application are working well internally. This is particularly crucial for websites that have static pages which go beyond being HTML-coded. Tools that are important for the back end:
- Databases (MySQL, MongoDB)
- Frameworks (Django, Flask, Objective-C, Ruby on Rails, Swift)
- Programming Languages (JavaScript, PHP, Python)
- Server Providers (Nginx, Apache, and more)
Mobile applications generally differ from web applications in that the latter doesn't have to be downloaded to a device. When apps are being made, the platform has to be taken into consideration. Is it going to be for Android? Is it meant for iOS? Will there be cross-platform software involved?
For iOS applications
Apple devices run on iOS software, which is why integrated development environments like Apple's Xcode and JetBrains AppCode are great. The programming languages that iOS rely on the most are Swift and Objective C.
For Android applications
The core of Android applications is Java, which is a programming language that Yahoo and Google use too. It's object-oriented, open-source, and easily the most popular one out there. Android SDK is widely popular; it can help with building an app since it has many libraries for maths, graphics, data structure, and networking. The programming language Kotlin is also preferred by many since it makes less code needed.
Choose What's Best for Your Project
When you join hackathons, you're going to want to be prepared in the best possible way. A key part of this includes the tools and whatnot you bring to the table, especially the tech stack. The tech stack is a solid set of tools developers can use for the mobile and/or website application that's being made.
Need guidance when it comes to hackathon projects for beginners? You’re in the right place! Hackathon.com connects over 2,000 hackathon organizers to our over 10 million innovator members worldwide, since we’re the largest online hackathon community there is!