Top Related Projects
A framework for building native applications using React
An open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.
Cross-Platform React Native UI Toolkit
:boom: React Native UI Library based on Eva Design System :new_moon_with_face::sparkles:Dark Mode
Material Design for React Native (Android & iOS)
A complete native navigation solution for React Native
Quick Overview
GitPoint is an open-source mobile application for GitHub, built with React Native. It provides a user-friendly interface for managing GitHub repositories, issues, and pull requests on mobile devices, offering a seamless experience for developers on the go.
Pros
- Cross-platform compatibility (iOS and Android)
- Rich feature set, including repository management, issue tracking, and code viewing
- Clean and intuitive user interface
- Active community and regular updates
Cons
- Limited functionality compared to the full GitHub web interface
- Occasional performance issues on older devices
- Some advanced GitHub features are not supported
- Requires separate authentication for certain actions
Getting Started
To get started with GitPoint, follow these steps:
-
Clone the repository:
git clone https://github.com/gitpoint/git-point.git
-
Install dependencies:
cd git-point yarn install
-
Run the app:
- For iOS:
yarn run ios
- For Android:
yarn run android
- For iOS:
Note: Make sure you have React Native development environment set up on your machine before running the app.
Competitor Comparisons
A framework for building native applications using React
Pros of React Native
- Larger community and ecosystem, with more resources and third-party libraries
- Backed by Facebook, ensuring long-term support and regular updates
- Cross-platform development for both iOS and Android from a single codebase
Cons of React Native
- Steeper learning curve, especially for developers new to React
- Larger app size due to the inclusion of the React Native runtime
- Occasional performance issues with complex animations or heavy computations
Code Comparison
React Native (App.js):
import React from 'react';
import { View, Text } from 'react-native';
const App = () => (
<View>
<Text>Hello, React Native!</Text>
</View>
);
export default App;
Git-Point (App.js):
import React from 'react';
import { Provider } from 'react-redux';
import { configureStore } from './store';
import { AppWithNavigationState } from './navigation';
const App = () => (
<Provider store={configureStore()}>
<AppWithNavigationState />
</Provider>
);
export default App;
Both projects use React and JSX syntax, but Git-Point incorporates Redux for state management and custom navigation setup, while the React Native example shows a simpler component structure. React Native's approach is more straightforward for beginners, while Git-Point's setup is more suitable for larger, complex applications.
An open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.
Pros of Expo
- Larger and more active community with over 15,000 stars and 2,000 forks
- Comprehensive platform for building React Native apps with a wide range of tools and services
- Extensive documentation and learning resources
Cons of Expo
- Larger codebase and potentially steeper learning curve
- May include unnecessary features for simpler projects
- More complex setup and configuration process
Code Comparison
Git-Point (JavaScript):
const fetchAuthUser = (): ThunkAction => (
dispatch: Function,
getState: Function
) => {
const accessToken = getState().auth.accessToken;
dispatch({ type: AUTH.FETCHING_USER });
// ...
};
Expo (TypeScript):
export async function getAuthSessionAsync(
options: AuthSessionOptions = {}
): Promise<AuthSessionResult> {
const { authUrl, returnUrl } = options;
if (!authUrl) {
throw new Error('No authUrl provided');
}
// ...
}
Summary
Expo offers a more comprehensive platform for React Native development with a larger community and extensive resources. However, it may be overkill for simpler projects and has a steeper learning curve. Git-Point is more focused and potentially easier to get started with for smaller-scale applications. The code comparison shows Expo using TypeScript, which can provide better type safety, while Git-Point uses JavaScript.
Cross-Platform React Native UI Toolkit
Pros of React Native Elements
- More comprehensive UI component library with a wider range of pre-built elements
- Highly customizable components with extensive theming options
- Larger and more active community, resulting in frequent updates and better support
Cons of React Native Elements
- Steeper learning curve due to the extensive API and customization options
- Potentially larger bundle size when using multiple components
- May require more configuration to achieve a specific design aesthetic
Code Comparison
React Native Elements:
import { Button, Input } from 'react-native-elements';
<Button title="Submit" onPress={handleSubmit} />
<Input placeholder="Enter your name" onChangeText={setName} />
Git-Point:
import { Button, TextInput } from 'react-native';
<Button title="Submit" onPress={handleSubmit} />
<TextInput placeholder="Enter your name" onChangeText={setName} />
Summary
React Native Elements offers a more extensive set of UI components and customization options compared to Git-Point. It benefits from a larger community and more frequent updates. However, this comes at the cost of a steeper learning curve and potentially larger bundle size. Git-Point, being a specific GitHub client app, uses more basic React Native components, which may be simpler to implement but offer less out-of-the-box styling and functionality. The choice between the two depends on the project's requirements and the developer's preference for customization versus simplicity.
:boom: React Native UI Library based on Eva Design System :new_moon_with_face::sparkles:Dark Mode
Pros of React Native UI Kitten
- Comprehensive UI component library with a wide range of customizable elements
- Supports theming and allows easy switching between light and dark modes
- Active development and regular updates
Cons of React Native UI Kitten
- Steeper learning curve due to its extensive API and customization options
- Larger bundle size compared to Git-Point's more focused approach
- May require more setup and configuration for specific use cases
Code Comparison
React Native UI Kitten:
import { Button, Text } from '@ui-kitten/components';
const MyButton = () => (
<Button appearance='filled'>
<Text>Click me!</Text>
</Button>
);
Git-Point:
import { Button } from 'react-native-elements';
const MyButton = () => (
<Button
title="Click me!"
onPress={() => console.log('Button pressed')}
/>
);
The code comparison shows that React Native UI Kitten uses a more modular approach, separating the Button and Text components, while Git-Point utilizes a more straightforward implementation with the react-native-elements library. React Native UI Kitten offers more customization options but may require additional setup, whereas Git-Point's approach is simpler and more direct.
Material Design for React Native (Android & iOS)
Pros of react-native-paper
- More comprehensive UI component library with a wider range of pre-built components
- Active development and frequent updates, ensuring compatibility with the latest React Native versions
- Extensive documentation and examples, making it easier for developers to implement and customize components
Cons of react-native-paper
- Larger bundle size due to the extensive component library, which may impact app performance
- Less focused on a specific use case, potentially requiring more customization for specialized applications
- Steeper learning curve for developers new to Material Design principles
Code Comparison
react-native-paper:
import { Button } from 'react-native-paper';
const MyComponent = () => (
<Button mode="contained" onPress={() => console.log('Pressed')}>
Press me
</Button>
);
git-point:
import { Button } from 'react-native-elements';
const MyComponent = () => (
<Button
title="Press me"
onPress={() => console.log('Pressed')}
buttonStyle={{ backgroundColor: 'blue' }}
/>
);
The code comparison shows that react-native-paper uses a more concise syntax for button creation, with built-in Material Design styles. git-point, on the other hand, relies on react-native-elements and requires more explicit styling.
A complete native navigation solution for React Native
Pros of react-native-navigation
- More comprehensive navigation solution with advanced features like deep linking and custom transitions
- Better performance due to native implementation of navigation components
- Larger community and more frequent updates
Cons of react-native-navigation
- Steeper learning curve and more complex setup process
- Less flexibility for customization of navigation UI elements
- Potential compatibility issues with certain React Native versions
Code Comparison
react-native-navigation:
Navigation.setRoot({
root: {
stack: {
children: [
{
component: {
name: 'Home'
}
}
]
}
}
});
git-point:
const AppNavigator = createStackNavigator({
Home: { screen: HomeScreen },
Profile: { screen: ProfileScreen },
});
export default createAppContainer(AppNavigator);
The code snippets demonstrate the different approaches to navigation setup. react-native-navigation uses a more declarative style with a setRoot
method, while git-point utilizes React Navigation's createStackNavigator
for a simpler configuration.
react-native-navigation offers more control over the navigation structure and native performance benefits. However, git-point's approach using React Navigation is more straightforward and may be easier for developers familiar with React ecosystem.
Both libraries have their strengths, and the choice between them depends on project requirements, team expertise, and desired level of customization and performance.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
GitPoint
GitHub in your pocket. Built with React Native.
Table of Contents
Introduction
View repository and user information, control your notifications and even manage your issues and pull requests. Built with React Native, GitPoint is one of the most feature-rich unofficial GitHub clients that is 100% free.
Available for both iOS and Android.
Features
A few of the things you can do with GitPoint:
- View user activity feed
- Communicate on your issue and pull request conversations
- Close or lock issues
- Apply labels and assignees
- Review and merge pull requests
- Create new issues
- Star, watch and fork repositories
- Control your unread and participating notifications
- Easily search for any user or repository
Feedback
Feel free to send us feedback on Twitter or file an issue. Feature requests are always welcome. If you wish to contribute, please take a quick look at the guidelines!
If there's anything you'd like to chat about, please feel free to join our Gitter chat!
Contributors
This project follows the all-contributors specification and is brought to you by these awesome contributors.
Build Process
- Follow the React Native Guide for getting started building a project with native code. A Mac is required if you wish to develop for iOS.
- Clone or download the repo
yarn
to install dependenciesyarn run link
to link react-native dependenciesyarn start:ios
to start the packager and run the app in the iOS simulator (yarn start:ios:logger
will boot the application with redux-logger)yarn start:android
to start the packager and run the app in the the Android device/emulator (yarn start:android:logger
will boot the application with redux-logger)
Please take a look at the contributing guidelines for a detailed process on how to build your application as well as troubleshooting information.
Development Keys: The CLIENT_ID
and CLIENT_SECRET
in api/index.js
are for development purposes and do not represent the actual application keys. Feel free to use them or use a new set of keys by creating an OAuth application of your own. Set the "Authorization callback URL" to gitpoint://welcome
.
Backers
Thank you to all our backers! ð [Become a backer]
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
Acknowledgments
Thanks to JetBrains for supporting us with a free Open Source License.
Top Related Projects
A framework for building native applications using React
An open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.
Cross-Platform React Native UI Toolkit
:boom: React Native UI Library based on Eva Design System :new_moon_with_face::sparkles:Dark Mode
Material Design for React Native (Android & iOS)
A complete native navigation solution for React Native
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot