nimblehq / ios-templates Goto Github PK
View Code? Open in Web Editor NEWOur optimized iOS templates used in our projects
Home Page: https://nimblehq.co
License: MIT License
Our optimized iOS templates used in our projects
Home Page: https://nimblehq.co
License: MIT License
As the name says, to include shared schemes for release
, staging
, and debug
configurations
.DS_Store
and .p12
included in git repository
Before I was miss understanding about adding app to fabric. That we're going to add only Staging
to Fabric
but it's not.
We're going to add all apps bundle to Fabric.app
but send beta for only Staging
.
I've been doing some research on how we should organize our file structure. The goal is to standardize our file organization. Mostly, there're 2 ways to classify file organization:
This separates file by its type. Files will be grouped by what they are. A pretty traditional way to do. The file structure will be somewhat like this
ROOT
├─ Models
├─ Views
├─ Controllers
├─ Helpers
├─ Services/Networking
├─ Stores/Managers
Files are to be grouped only by its feature. The structure varies on each preference, but well, it'd look similar to this
ROOT
├─ Modules
├─ Login
├─ Booking
├─ Account
├─ Extensions
├─ Resources
Personally, I prefer this approach more as it separate unnecessary concerns out when we're working on some certain feature. One tradeoff of this approach is that, when any view is to be used by multiple modules, then we'll have to create Common
and put them inside it. I'm not against this one tho, but well, still looking for a better option.
The second one doesn't differ from the structure we're having on our current projects. I'm thinking that we could adapt from it by combining both approaches to something like
ROOT
├─ Application // AppDelegate, Plist, Entitlements
├─ Constants // Colors, Fonts, Configurations
├─ Module/Flow/Controller
├─ Authorization
├─ Login
├─ Register
├─ AuthorizationFlowController.swift
├─ ...
├─ Model
├─ View
├─ Protocol // should we keep this tho?
├─ Extension // could perhaps create subdirectory for UIKit, Foundation
├─ Service
With this grouping, we will have more groups on the base level, but IMO, it's acceptable as long as we can have less deeper structure. For any view that needs to be generic and reused in multiple places, we could put it inside View
folder e.g. AvatarImageView
, AnimatedButton
. Otherwise, We'll put it to where it belongs like putting LoginTableViewCell
inside Login
directory, putting BookingHeaderTableViewCell
inside Booking
module.
There's some concern I couldn't come up with an answer. Let's say there's a class like Calculator
or Validator
, where should we put it into? I think we could perhaps have another base directory named Module
and put it inside, but it still doesn't seem much right to me.
Another thing is that, do you think Protocol
directory should exist or not? I'd prefer to have it tho, but not sure how you guys would see it. I mean, I'd like to separate things as much as possible without creating excessive junk directory, so that we can focus what we're working on and find related files easier.
build: contain *.ipa
and `dSYM
put (
git log --abbrev-commit --decorate --first-parent -2 --pretty=format:"%h").split("\n").last
instead of first commit hash will be previous current branch before merge
Product name & Bundle Id are duplicated need to separate staging
, debug
, release
Integrate SwiftLint to the project using Cocoapods and pre-define set of rules that will be required for our template code conventions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.