- Virtual DOM
- Data Binding
- Components
- Event Handling
Name | Type | License | Tech |
---|---|---|---|
apostello | SMS communication | MIT | Python |
Bible API | bible reference | MIT | Ruby |
Bible Helper | bible reference | MIT | JavaScript |
Cedar | media projection | MIT | JavaScript (Meteor) |
Chabaa | service streaming and chat | GPLv3 | PHP |
CHUMS | ChMS | MIT | TypeScript |
ChurchCRM | ChMS | MIT | PHP |
ChurchInfo | ChMS | GPLv2 | PHP |
Hi All! | |
I've recently launched a tool that wraps many of the commands here with a user interface. This desktop application is currently available for macOS. There's a roadmap outlining planned features for the near future. | |
Feel free to request any features you'd like to see, and I'll prioritize them accordingly. | |
One of the most important aspects of this application is that every command executed behind the scenes is displayed in a special log section. This allows you to see exactly what’s happening and learn from it. | |
Here's the link to the repository: https://github.com/Pulimet/ADBugger | |
App Description: | |
ADBugger is a desktop tool designed for debugging and QA of Android devices and emulators. It simplifies testing, debugging, and performance analysis by offering device management, automated testing, log analysis, and remote control capabilities. This ensures smooth app performance across various setups. |
- Proposal: SE-XXXX
- Authors: Chris Lattner, Joe Groff
Modern Cocoa development involves a lot of asynchronous programming using closures and completion handlers, but these APIs are hard to use. This gets particularly problematic when many asynchronous operations are used, error handling is required, or control flow between asynchronous calls gets complicated. This proposal describes a language extension to make this a lot more natural and less error prone.
This paper introduces a first class Coroutine model to Swift. Functions can opt into to being async, allowing the programmer to compose complex logic involving asynchronous operations, leaving the compiler in charge of producing the necessary closures and state machines to implement that logic.
From episode "5 - Setting Up Universal Links (Deep Linking)" on the Inside iOS Dev Podcast
1) Create an apple-app-site-association file that contains JSON data about the URLs that your app can handle.
- Create
apple-app-site-association
text file without.json
file extension - Use
application/json
MIME type for the text file - Have the following contents of the file similar to this format:
{ "applinks": {
"apps": [],
#!/bin/bash | |
echo "=== List of available, **shared** Schemes ===" | |
set -x | |
# if you use a Workspace (.xcworkspace) file | |
xcodebuild -workspace $BITRISE_PROJECT_PATH -list | |
# or if you use a Project file (.xcodeproj) instead | |
xcodebuild -project $BITRISE_PROJECT_PATH -list | |
set +x | |
echo "=============================================" |
Centralize the support libraries dependencies in gradle
Working with multi-modules project, it is very useful to centralize the dependencies, especially the support libraries.
A very good way is to separate gradle build files, defining something like:
root
--gradleScript
----dependencies.gradle
<?xml version="1.0" encoding="utf-8"?> | |
<resources> | |
<!-- TextView Empty Base--> | |
<style name="TextViewBase" parent="android:TextAppearance.Holo.Widget.TextView"/> | |
<!-- ActionBar Title --> | |
<style name="CustomActionBarTitleBase" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"/> | |
<!-- Text Views Default Base --> |
import android.support.v7.widget.LinearLayoutManager; | |
import android.support.v7.widget.RecyclerView; | |
public abstract class EndlessRecyclerOnScrollListener extends RecyclerView.OnScrollListener { | |
public static String TAG = EndlessRecyclerOnScrollListener.class.getSimpleName(); | |
private int previousTotal = 0; // The total number of items in the dataset after the last load | |
private boolean loading = true; // True if we are still waiting for the last set of data to load. | |
private int visibleThreshold = 5; // The minimum amount of items to have below your current scroll position before loading more. | |
int firstVisibleItem, visibleItemCount, totalItemCount; |
/* | |
This example shows how you can use your data structure as a basis for | |
your Firebase security rules to implement role-based security. We store | |
each user by their Twitter uid, and use the following simplistic approach | |
for user roles: | |
0 - GUEST | |
10 - USER | |
20 - MODERATOR |