TestFlight: Tips for Beta Testing iOS Apps

See the original posting on DZone Python

Anyone who is acquainted with the concept of iOS app development knows that testing an app is a crucial part of the development process. However, many people don’t know about an especially important subset of testing — beta testing. Also referred to as end-user testing, or pre-release testing, or user acceptance testing (UAT), beta testing involves the product being tried out by a small section of the target audience. At this stage, apps undergo real-world testing, and the early users’ experiences are analyzed to make essential changes before the app is added to the App Store.

About iOS apps, while several mediums enable beta testing, they are known to be quite complicated. There is, however, one alternative that has proven to be quite handy: TestFlight. Launched in 2011, it does away with the inconvenience that accompanies distribution and management of beta builds. It was this ability to ease the entire process to a great extent that led to Apple integrating TestFlight into App Store Connect.

How to Use Backendless With React.js, Part 4: Build and Deploy

See the original posting on DZone Python

In this article, we are going to continue developing our React.js web application using Backendless for the backend. This is Part 4 of our series, so be sure you’ve read through parts 1-3, linked below:

If you have already read those then read on. Otherwise, we recommend you either read read all of the articles and build the app step-by-step, or you can clone the app from this GitHub repository and use this commit as a starting point. Today we will build our app for the first time and deploy it to Backendless Files.

Reasons to Love Jest: The Developer Experience

See the original posting on DZone Python

I’m a developer advocate at Snyk, and couldn’t reinforce more how important it is to test your applications for security vulnerabilities in third-party open source libraries. If there’s something I like as much as the sSyk developer tooling, it’s Jest. The developer experience with it just amazing!

Oh yes. The developer experience with Jest is transforming the act of writing tests from a chore to hell of a fun time. I promise! 

Swift 5.0 Class Internals

See the original posting on DZone Python

We have seen a few things so far that are surprising with Swift. We also looked at some aspects of class implementations in Swift 4. Now that Swift 5 has been released, with a stable ABI, let’s see how things compare to Objective-C, digging into internal data structures like we did in Objective-C.

Objective-C classes are defined elegantly, using C data structures that are relatively easy to follow and understand. A class definition is associated with a metaclass (to allow the class to be treated as a data object), as well as a group of functions treated as either class or member methods. Classes are associated with supported protocols and superclasses as well. We haven’t specifically looked at protocol support nor at how methods are dynamically located, or how errors are handled. We’ll look at all of these and start to filter conclusions through a security perspective.

The Variety of Architecture Decisions

See the original posting on DZone Python

Success (or Failure) Is Mostly About “Small” Decisions

For some, architecture is all about decisions. Once the biggest and the most important decisions are made, architectural work is considered done. Sadly, the success of your project rarely hinges on those “big” decisions. It is the “small” decisions, the ones we often ignore, where a project’s success lies. The biggest decisions are static; once made they will rarely change. It is the small decisions, the ones we make every day, that will actually determine how easy it is to support new functionality and how productive the team can remain as software evolves.

Let’s examine a few of these architectural decisions.

Use ASP.NET Web API and Angular to Build a Simple App

See the original posting on DZone Python

Many .NET developers know and love ASP.NET 4.x, and will continue to build apps with it into the future. ASP.NET 4.X is a battle-tested web framework that has existed for over 15 years and is supported by a mature ecosystem.

On the client-side, many developers use Angular both for home and work projects, and it is outstanding for building enterprise-level, feature rich, applications.

Positions to Addresses With Gesture Events and HERE in Android

See the original posting on DZone Python

I’ve been writing a few tutorials on using the HERE Location Services (HLS) platform with Android. These tutorials have included showing a map, dropping markers, and geocoding address information to latitude and longitude position information. This time around we’re going to take things to the next level by converting latitude and longitude position information to address information within an Android application.

To be specific in what we plan to accomplish, take a look at the following animated image.

So You Think You’re Just Gonna npm install? Think Again

See the original posting on DZone Python

We embraced the birth of package lockfiles with open arms, which introduced deterministic installations across different environments and enforced dependency expectations across team collaboration.

Life is good! Or so I thought… what would have happened had I slipped some changes into the project’s package.json file but had forgotten to commit the lockfile along side of it?

Objective-C Method Definition Internals

See the original posting on DZone Python

We’ve talked in a previous article about class definitions and we’ve looked at Objective C-class definition structures. They use an __objc_class structure which contains information with respect to the class’s super class, something called a meta class, a cache, a vTable, and a pointer to class data. We were working with a simple Printer class:

#import <Foundation/Foundation.h>

@interface Printer : NSObject

@property NSString *str_to_print;

- (void) printMsg;
- (void) printString: (NSString*) message;

@end

@implementation Printer

- (void) printMsg {
printf("%s\n", [self.str_to_print UTF8String]);
}

- (void) printString: (NSString*) message {
self.str_to_print = message;
[self printMsg];
}

@end



int main(int argc, const char * argv[]) {
  @autoreleasepool {
  Printer *printer = [[Printer alloc] init];
  [printer printString: @"Hello World!"];
  }
  return 0;
}

Now a metaclass in Objective-C allows you to treat a class as an object, essentially. You can create static methods in Objective C, and the meta class is what allows you to do it. Class definitions can have associated methods and data elements, just like a class instance, and need are implememented in the same way as a result.

Holy Grail of Solutions: Solving .NET Lambda Cold Start Part 22

See the original posting on DZone Python

Welcome back! If you missed Part 1, you can check it out here.

The .NET framework is undoubtedly a powerful tool with which to build applications. Incorporating it on serverless platforms unlocks myriad architectural and cost-related benefits. However, the serverless ambitions of .NET developers are often dashed by unendurable cold start durations. This is mainly attributed to how .NET assemblies are jitted which, among other issues, puts a lot of stress on serverless containers starting up. Nevertheless, there are solutions to the overbearing problem, and that is the purpose of this piece: to highlight the solutions any .NET developer can implement to drastically reduce cold start durations and, ideally, even eliminate them completely.

Objective-C Class Internals

See the original posting on DZone Python

So Objective-C is kinda old school, but it certainly influenced the development and design of Swift, so its legacy certainly lives on. And not all new apps or applications are developed in Swift today either. There’s strong reasons to keep using Objective-C, including ease of access to low-level data structures, simplicity, and control.

Objective-C is an object-oriented flavor of C, with some slightly different constructs than what we’re used to (I’m looking at you Protocols). Let’s take a look at how Objective-C implements Classes, one of the primary design elements of any object-oriented language.

Building a Web Application Using Spring Boot, Angular, and Maven

See the original posting on DZone Python

Angular and Spring Boot are both great frameworks which are nowadays in great combination especially by java developers gladly used for building microservices.

In this article I want to show therefore how you can setup a parent maven project which includes an angular and spring boot child, which is finally be deployed on a tomcat server, including production ready jar with some pre-requisties.

Simplest Way to Add Stored Property to Swift Extension

See the original posting on DZone Python

class ExampleClass {}

fileprivate var storedProperty_FILEPRIVATE = 1
extension ExampleClass {
    var storedProperty: Int {
        get {return storedProperty_FILEPRIVATE}
        set {storedProperty_FILEPRIVATE = newValue}
    }
}

print(ExampleClass().storedProperty)  //1
ExampleClass().storedProperty = 2
print(ExampleClass().storedProperty)  //2

That’s it. Now you can keep the variable definition close to where it’s used (in the extension, instead of in the class definition).

You just add a fileprivate variable or constant, and access it in the extension using the computed variable.

Swift Class Disassembly

See the original posting on DZone Python

In a previous article, we looked at the disassembly of class creation and program semantics for a simple program that prints a string. It did expose how classes are defined and how objects are reference counted however, as simple as that example was. Now we’re going to look at an equivalent Swift program

This swift program is equivalent to the Objective-C program, right down to the method names:

Real-Time Interaction With HERE Maps Between Android and JavaScript With Socket.io

See the original posting on DZone Python

If you’ve been keeping up with my content, you might remember that about a week ago I had written a tutorial around real-time interaction using Socket.io and a HERE map. This tutorial titled, Real-Time Interaction Between Maps with Socket.io and JavaScript, demonstrated how Socket.io could be used to send client interactions with a map to a server and then broadcasted in real-time to all other connected clients, showing the results on the screen.

We’re going to take things a step further in this tutorial. Instead of web browser to web browser communication, we’re going to introduce Android communication so that way as a user interacts with a map, whether it be in a web browser or on an Android device, those interactions get broadcasted to all similar platforms.

1 2 3 152