Convert Figma logo to code with AI

GitHawkApp logoGitHawk

The (second) best iOS app for GitHub.

2,875
383
2,875
464

Top Related Projects

:octocat: Browser extension that simplifies the GitHub interface and adds useful features

1,781

Slide is an open-source, ad-free Reddit browser for Android.

56,946

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

109,336

Windows system utilities to maximize productivity

37,633

The modern video player for macOS.

Quick Overview

GitHawk is an iOS application that provides a comprehensive GitHub client experience. It offers a wide range of features, including issue and pull request management, repository browsing, and user profile viewing, all within a sleek and intuitive user interface.

Pros

  • Comprehensive GitHub Integration: GitHawk seamlessly integrates with the GitHub platform, allowing users to access and manage their entire GitHub workflow from a single app.
  • Intuitive User Interface: The app's design is clean, modern, and easy to navigate, making it accessible for both casual and power users.
  • Powerful Features: GitHawk offers a robust set of features, including issue and pull request management, code review, and repository browsing, catering to the needs of developers and project managers.
  • Active Development: The project is actively maintained, with regular updates and bug fixes, ensuring a reliable and up-to-date user experience.

Cons

  • iOS-Exclusive: GitHawk is currently only available on iOS, limiting its accessibility to users on other platforms.
  • Limited Customization: While the app's design is visually appealing, it may not offer extensive customization options for users who prefer a more personalized experience.
  • Potential Learning Curve: The app's comprehensive feature set may present a learning curve for users who are new to GitHub or mobile app-based project management.
  • Potential Performance Issues: Some users have reported occasional performance issues or slowdowns, especially on older iOS devices.

Getting Started

To get started with GitHawk, follow these steps:

  1. Download the latest version of the app from the App Store.
  2. Sign in to your GitHub account within the app.
  3. Explore the app's various features, such as the issue and pull request management, repository browsing, and user profile viewing.
  4. Customize the app's settings to your preferences, such as theme, notifications, and default views.
  5. Utilize the app's powerful features to streamline your GitHub workflow and stay on top of your projects.

Competitor Comparisons

:octocat: Browser extension that simplifies the GitHub interface and adds useful features

Pros of Refined GitHub

  • Browser extension, offering seamless integration with GitHub's web interface
  • Extensive feature set, enhancing various aspects of GitHub browsing and interaction
  • Regular updates and active community contributions

Cons of Refined GitHub

  • Limited to web-based GitHub usage, not available as a standalone app
  • Requires browser installation and permissions, which may concern some users
  • May conflict with other GitHub-related browser extensions

Code Comparison

Refined GitHub (JavaScript):

function addFilePathCopyBtn() {
  const btn = <button class="btn btn-sm BtnGroup-item">Copy path</button>;
  btn.addEventListener('click', () => {
    copyTextToClipboard(getRepoUrl());
  });
}

GitHawk (Swift):

func didTapSave() {
    let bookmark = Bookmark(
        type: .repo,
        name: repo.name,
        owner: repo.owner,
        hasIssuesEnabled: repo.hasIssuesEnabled
    )
    Bookmark.add(bookmark: bookmark)
    updateBookmarkStatus()
}

While both projects aim to enhance the GitHub experience, Refined GitHub focuses on improving the web interface through a browser extension, offering a wide range of features. GitHawk, on the other hand, is a native iOS app providing a mobile-friendly GitHub client with its own set of features tailored for on-the-go use.

1,781

Slide is an open-source, ad-free Reddit browser for Android.

Pros of Slide

  • More comprehensive Reddit client with a wider range of features
  • Supports multiple Reddit accounts and subreddit management
  • Offers a customizable user interface with themes and layouts

Cons of Slide

  • Larger codebase, potentially more complex to maintain
  • May have a steeper learning curve for new contributors
  • Less focused on GitHub-specific features

Code Comparison

Slide (Java):

@Override
public View getView(int i, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.adapter_submission_textview, parent, false);
    }
    TextView title = convertView.findViewById(R.id.title);
    title.setText(approved.get(i));
    return convertView;
}

GitHawk (Swift):

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
    cell.textLabel?.text = objects[indexPath.row]
    return cell
}

The code snippets show different approaches to rendering list items, with Slide using a custom adapter in Java and GitHawk using UITableView delegate methods in Swift.

56,946

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Pros of Caddy

  • Written in Go, offering better performance and cross-platform compatibility
  • Automatic HTTPS with Let's Encrypt integration
  • Simpler configuration and easier setup for web servers

Cons of Caddy

  • Less focused on mobile development compared to GitHawk
  • Smaller community and ecosystem than some other web servers

Code Comparison

Caddy configuration example:

example.com {
    root * /var/www
    file_server
    tls internal
}

GitHawk Swift code snippet:

let client = Client(token: "access_token")
client.me { result in
    switch result {
    case .success(let user):
        print(user.login)
    case .failure(let error):
        print(error)
    }
}

Summary

Caddy is a web server focused on simplicity and automatic HTTPS, while GitHawk is an iOS app for GitHub. Caddy offers better performance and easier configuration for web hosting, but GitHawk provides a mobile-first approach to GitHub interactions. The code examples highlight their different purposes: Caddy's simple server configuration versus GitHawk's GitHub API integration in Swift.

109,336

Windows system utilities to maximize productivity

Pros of PowerToys

  • Broader functionality: PowerToys offers a wide range of system utilities for Windows, while GitHawk is focused on GitHub mobile client features
  • Active development: PowerToys has more recent commits and a larger contributor base
  • Official Microsoft support: Backed by a major tech company, ensuring long-term maintenance

Cons of PowerToys

  • Platform-specific: Limited to Windows, whereas GitHawk is cross-platform (iOS)
  • Steeper learning curve: PowerToys includes multiple complex utilities, while GitHawk has a more focused, user-friendly interface
  • Larger codebase: PowerToys has a significantly larger and more complex codebase, potentially making it harder to contribute to

Code Comparison

PowerToys (C++):

void PowerRenameManager::Rename(_In_ bool closeWindow)
{
    // Rename logic
    m_renameUICallback->OnRenameCompleted(closeWindow);
}

GitHawk (Swift):

func didTapSave() {
    let text = textView.text ?? ""
    delegate?.didSaveComment(text: text)
}

Both examples show method implementations, but PowerToys uses C++ with Windows-specific conventions, while GitHawk uses Swift for iOS development. The PowerToys code appears more complex due to its system-level interactions.

37,633

The modern video player for macOS.

Pros of IINA

  • Broader application scope as a versatile media player
  • Larger community with more stars and contributors
  • More frequent updates and active development

Cons of IINA

  • Less focused on a specific niche compared to GitHawk
  • Potentially more complex codebase due to broader functionality

Code Comparison

IINA (Swift):

class PlayerCore: NSObject {
    static let playerCoreKey = Notification.Name("IINAPlayerCore")
    
    var mpv: MPVController!
    var info: PlaybackInfo!
    var thumbnailQueue: FFThumbnailGenerator?
}

GitHawk (Swift):

final class IssueCommentSectionController: ListBindingSectionController<IssueCommentModel>,
    IssueCommentDetailCellDelegate,
    IssueCommentReactionCellDelegate {
    
    private var collapsed = true
    private let model: IssueDetailsModel
    private var reactions: IssueCommentReactionViewModel?
}

Both projects use Swift, but IINA focuses on media playback functionality, while GitHawk is tailored for GitHub issue management. IINA's code snippet shows core player functionality, whereas GitHawk's code relates to issue comment handling.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Build Status Join TestFlight

GitHawk is the second-highest rated iOS app for GitHub.

Features
:zero:Inbox Zero your notifications
:pencil:Comment even faster than on GitHub desktop
:thumbsup:The only app with emoji reactions!
:zap:Native markdown rendering
:octocat:100% free and open source

Contributing

We are always looking for contributions from all skill levels! A great way to get started is by helping organize and/or squish bugs. If you're looking to ease your way into the project try out a good first issue.

Highest Priority Needs:

  • 👩‍💼 Product Manager
    • We have some projects and tons of unorganized/unprioritized features. GitHawk needs someone to own the product direction!
  • 👩‍🎨 Designer
    • Like making unique UIs? So do we! We value keeping GitHawk's UX close to core iOS, but, when necessary, create our own high-quality UI components. Helping design for GitHawk is a great opportunity to try new ideas out!
  • 👩‍💻 iOS Project Management
    • There is a lot of low-hanging fruit with our project setup, test and deployment automation, build optimizations, and more! I (@rnystrom) have no idea what I'm doing here. Come point us in the right direction!

Installation

If you want to build GitHawk locally, run npm install.

To get started, you will need to install node (brew install node), then run these instructions:

git clone https://github.com/GitHawkApp/GitHawk.git
cd GitHawk
bundle
bundle exec pod install
npm install
open Freetime.xcworkspace/

This will install apollo-codegen that is required to generate the GraphQL models.

See the setup guide for details about API keys and environment variables.

Open Source & Copying

We ship GitHawk on the App Store for free and provide its entire source code for free as well. In the spirit of openness, GitHawk is licensed under MIT so that you can use my code in your app, if you choose.

However, please do not ship this app under your own account. Paid or free.

Why are we building this?

  • Push IGListKit + Swift to its limits
  • Better GitHub project management on mobile
  • Explore GitHub's GraphQL API
  • Scratch my Swift-itch
  • Create a real, complex app in the open