Tom Snyder Welcome to Code-Gorilla! I write online content on whatever technologies I happen to be working with at the time. My current focus is on mobile and web development but you could find a little bit of everything here.
Enjoy the content and Happy Coding!
KMM: Create a Shared Binary Library for Android and iOS
Friday, March 3, 2023
 
Write Your Code Logic Once and Share It With Your Local Native Android and iOS User Interface

In this article we will be building a KMM library that will create a binary library that could be shared with iOS and Android in the form of an XCframework and Android Archive (AAR) respectively.

In my previous article, KMM: Building a Simple Application for Android and iOS, I covered how you could create an all-in-one project, which contains common code that is shared with Android and iOS local native applications within a single project. Please read this article to see how to get KMM setup on your development machine, along with dependencies and installation confirmation.

In this article we will be isolating the shared code into its own project library that can then be used as a binary dependency for external Android and iOS applications.


KMM: Building a Simple Application for Android and iOS
Wednesday, February 22, 2023
 
Hello World for Kotlin Multiplatform Mobile (KMM)
Kotlin Multiplatform Mobile (KMM) is a means to create a common codebase that could be shared with platform specific user interface code for both Android and iOS. You could do more with it, but that's what I'll be covering in this article.

Prerequisites

Prior to beginning, you will need to have the following tools installed:
  • Java Development Kit (JDK)
  • Xcode
  • Android Studio
  • Kotlin plugin
  • Kotlin Multiplatform Mobile plugin

Appium 2.0 iPhone Web Test using JUnit 5
Monday, February 6, 2023
 
Creating an automated test to launch and interact with a Safari web browser on an iPhone
This article is part of a series which provides sample Java code to run a JUnit 5 tests that will interact with mobile devices and simulators using Appium 2.0 to perform automated testing:
  • Install Appium
  • iOS automated web test (this article)
  • iOS automated local native application test
  • Android automated web test
  • Android automated local native application test

Appium 2.0 Android Web Test using JUnit 5
Monday, February 6, 2023
 
Creating an automated test to launch and interact with a Chrome web browser on Android
This article is part of a series which provides sample Java code to run a JUnit 5 tests that will interact with mobile devices and simulators using Appium 2.0 to perform automated testing:
  • Install Appium
  • iOS automated web test
  • iOS automated local native application test
  • Android automated web test (this article)
  • Android automated local native application test

Install Appium 2.0 Beta on Mac aarch64
Thursday, February 2, 2023
 
Automated Behavioral Testing for your mobile applications on Apple M1 ARM CPU
This document will walk you through a complete installation of Appium and its dependencies. These installation instructions are intended for developers and test engineers.

Appium 1.0 Safari Web Driver Errors

You may have landed on this page searching for the solution to these common errors encountered with appium on your M1 or M2 processor:

  • Cannot link directly with dylib/framework, your binary is not an allowed for architecture arm64
  • [WebDriverAgent] xcodebuild exited with code '65' and signal 'null'
  • [WD Proxy] connect ECONNREFUSED 127.0.0.1:8100

Using appium 2.0 in beta will fix these issues. You could also fix in appium 1.0 by updating the web driver manually, but I prefer this path.


OWASP and Security
Monday, January 23, 2023
 
Common Security References
This article is primarily an index of common security resources.

OWASP

Open Web Application Security Project®
https://owasp.org/

ASP.Net Increase Maximum JSON response size
Monday, January 16, 2023
 
Update maxJsonLength for Web.Config and JavaScriptSerializer
Typically when using JSON responses from web services your JSON should be a smaller size, but if you ever have the need to get larger JSON responses, here is how you can do it. You need to increase the allowed maximum JSON length size in the Web.Config ...
Build Local Native Java Applications
Monday, January 2, 2023
 
Creating a Java Executable JAR from Eclipse
In this article we will build a Java application that can run locally on your system. We will do this with and without Gradle.

Java Executable without Gradle

  • Open Eclipse
  • Create New Java Project
    • File | New | Java Project
  • Right Click on project in Package Explorer
  • Export | Java | Runnable Jar File
  • Confirm it runs. java -jar KrakenLocal.jar

Create Kotlin Application with Gradle
Monday, January 2, 2023
 
Instructions to create a new Kotlin project in Eclipse to use Gradle
In this article, we will build a new empty Kotlin application in Eclipse that uses Gradle.

Eclipse Kotlin Plug in

Ensure you have the Kotlin Plug In for Eclipse:
  • Eclipse | Help | Eclipse ...
Gradle Cheat Sheet
Sunday, January 1, 2023
 
Common Gradle Tasks

Install Gradle on Mac

You could install with a package manager, but I will be installing manually.
  • Download the latest version of gradle. Grab the binary-only download: