Tag-Archive for » Entwickler «

Übermorgen kommt Visual Studio 2017

Ab dem 7. März 2017 wird Visual Studio 2017 für alle verfügbar sein. Bei einem zweitägigen Launch-Events am 7. und 8. März 2017, das man auch im Livestream verfolgen kann, stellt Corporate Vice President Julia Liuson Visual Studio 2017 den Entwicklern vor.

Zusammen mit Corporate Vice President Brian Harry, Developer Services, Scott Hanselman, Principal Community Architect for Web Platform and Tools und Miguel de Icaza, dem Mitgründer von Gnome, Mono und Xamarin wird Liuson die Neuerungen in Visual Studio, .NET, Xamarin, Microsoft Azure und mehr in Live-Demos und -Trainings präsentieren.

Von der modularen Installation bis zu Verbesserungen beim Editor, Debugging und der Fehlersuche bringt die neue Visual Studio-Version neue Features wie Live Unit Testing und Code Style Configuration.

Außerdem bietet Microsoft zusätzliche Veranstaltungen, zum Beispiel Webinare und Infotage an. Am 17. März findet beispielsweise das Webinar „What’s new in Visual Studio 2017“ statt. Am 27. März gibt es in Köln Infotage, ebenfalls am 29. März in Berlin und am 03. April in München.

Zusammen mit der .NET Community veranstaltet Microsoft dann noch am 30. Mai den Visual Studio & Azure Info Day in Karlsruhe.

Kein Support mehr für PHP 5

Am heutigen 1. Januar 2017 hat PHP 5.6 als letzte 5er-Version der beliebten Script-Sprache das Ende seiner aktiven Supportphase erreicht: Die aktuelle Version PHP 5.6.30 wird das letzte reguläre PHP-5-Release sein, das herausgekommen ist. Danach gibt es nur noch das neueste Haupt-Release PHP 7 bzw. PHP 7.1.

An PHP 5 wird auch ab sofort nicht mehr weiter entwickelt. Allerdings versprechen die Entwickler, kritische Sicherheitslücken in PHP 5.6 noch bis Ende 2019 zu stopfen – aber spätestens zu diesem Zeitpunkt sollte man auf eine 7er-Version der Scriptsprache aufgestiegen sein.

Die Web-Statistiker von W3tech fanden PHP 7 bisher nur auf 2,5% der untersuchten Internetseiten, die PHP nutzen. PHP 5.6 wird auf 21% der PHP-Sites eingesetzt, der Rest verteilt sich auf ältere, nicht mehr gepflegte PHP-Versionen. Nach Angaben von W3tech nutzen über 80% der 10 Millionen populärsten Websites PHP.

Etwas freundlicher kommt die Statistik von packagist.org, dem Standard-Repository des PHP-Package-Managers Composeherüber: Hier kamen PHP 7.0 und 7.1 im November 2016 zusammen zumindest auf gut 36% der Zugriffe und PHP 5.6 auf 37%. Aber leider erfolgen auch bei packagist.org ein Viertel aller Zugriffe mit veralteten und nicht mehr supporteten PHP-Versionen.

Rückgabe in PHP 7.1

php7-1Außer den internen Veränderungen, die die beliebte Programmiersprache deutlich beschleunigt haben, brachte Version 7 von PHP viel Neues im Umgang mit dem Typsystem der Sprache.

Mit dem ersten großen Sprachupdate PHP 7.1 erweiterten die Entwickler PHP um Funktionen, die man so auch aus anderen Sprachen kennt. Dazu gehört unter anderem beispielsweise der explizite Verzicht auf einen echten Rückgabewert.

Nirwana-Rückgabe: Nullen oder Nichts

Denn jetzt gehört zu den sogenannten Typehints auch das Schlüsselwort void. Der Typehint zum Beispiel für den Datentyp int gibt ja auch an, dass der Typ des betreffenden Rückgabewerts ein Integer (Ganzzahl) sein soll. Genauso gibt in PHP 7.1 der Typehint void an, dass die Funktion eben nichts zurückgibt, sondern ausschließlich prozedural arbeitet.

Wie in den Sprachen C und C++ kann aus einer Methode durch die Angabe von return; zurückgekehrt werden. Auch auf diese Angabe kann verzichtet werden. Sinnvoll sei die Verwendung von void vor allem zur Dokumentation und zur Fehlerüberprüfung. Es macht in jedem Fall deutlich, „dass eine Funktion eine Aktion ausführt und kein Ergebnis erzeugt“.

Bis jetzt hatte PHP unter bestimmten Umständen Probleme bei Rückgabewerten, die keinen Standardwert haben, weshalb das Team eine einheitliche Syntax eingeführt hat, um zu zeigen, dass der Wert auch null sein kann. Dies ist ab der Version 7.1 für alle erlaubten Typen möglich, indem den Typen ein Fragezeichen vorangestellt ist, also zum Beispiel ?int.

Iterationen und Konstanten

Als neuer Pseudotyp ist das Keyword iterable neu hinzugekommen. Bisher konnte man keinen Typ für iterierbare Rückgaben festlegen und musste tricksen, wenn man eine Funktion innerhalb einer Foreach-Schleife nutzen wollte.

Auch aus dem Umfeld von C und C++ kommt die neue Zugriffsmodifikation, die neben Funktionen jetzt auch für Klassenkonstanten genutzt werden kann. Das Team löse damit eine bisher bestehende Inkonsistenz recht einfach auf. Als Schlüsselworte dazu kann man publicprotected und private nutzen. Konstanten, die ohne eines dieser Schlüsselworte deklariert werden, sind wie schon bisher immer public.

Projekt Quantum: Mozillas künftige Browser-Engine

projectquantumBrowserhersteller Mozilla gibt einen Ausblick auf die Zukunft seiner Browser-Engine Gecko: Bis zum Ende des nächsten Jahres sollen „erhebliche Verbesserungen“ bei den Nutzern ankommen, verspricht Chef-Entwickler David Bryant in einem Blogeintrag.

Die „Project Quantum“ getaufte Entwicklung soll Gecko auf PCs und Mobilgeräten merklich beschleunigen, insbesondere durch Parallelisierung und Nutzung  von GPUs. Dazu wolle man einige Komponenten von Servo übernehmen, der Engine, an der Mozilla schon seit 2013 arbeitet. Vor drei Monaten veröffentlichte Mozilla schon eine erste Preview-Version von Servo.

Einige der Neuerungen werden in Mozillas Programmiersprache Rust geschrieben, die im Vergleich zu C++ mehr Geschwindigkeit und Sicherheit bringen kann.  Erste in Rust entwickelte Bestandteile haben schon im August Einzug in Mozillas Browser Firefox gehalten.

Vorschauversion von Android 7.1 ist da

android7-1Nur eine Woche nach der Ankündigung der neuen Funktionen von Android 7.1 hat Google jetzt seine erste Developer Preview der neuen Version des mobilen Betriebssystems veröffentlicht.

Die API mit der Nummer 25 ist damit fertig und das passende SDK für Android Studio ist verfügbar. Wie immer sollten Entwickler nach dem Herunterladen die beiden zugehörigen Umgebungsvariablen compileSdkVersion und targetSdkVersion auf den aktuellen Wert 25 setzen, um neue Funktionen wie beispielsweise runde Icons oder App Shortcuts zu testen.

Netbeans 8.2 unterstützt ECMAScript 6/7 und PHP 7

netbeansGute Nachricht für Entwickler: Gerade ist die Open-Source-Entwicklungsumgebung (IDE) NetBeans in Version 8.2 freigegeben worden. In der neuen Version unterstützt NetBeans 8.2 jetzt mit ECMAScript 6 und PHP 7 die zurzeit aktuellen Ausgaben dieser beiden Skriptsprachen.

Mit dem erst noch kommenden ECMAScript 7 können Entwickler zumindest schon einmal auf experimenteller Basis arbeiten. Darüber hinaus wird von einer besseren Unterstützung des serverseitigen JavaScript-Frameworks Node.js und von Oracle JET (JavaScript Extension Toolkit) geredet.

Mit der IDE NetBeans 8.2 können Entwickler auch mit Docker-Containern kommunizieren. Zugriff und die Verwaltung von Container-Images sind direkt aus der IDE heraus möglich. Außerdem ist ein Profiling-Modus für SQL-Abfrage in die IDE gekommen. Auch bei der Unterstützung von C/C++ gibt es neue Erweiterungen.

PostgreSQL 9.6 ist soeben erschienen

postgresqlEntwickler können sich freuen: Nur wenige Monate nach der ersten Beta ist nun die finale Version der Open-Source-Datenbank PostgreSQL 9.6 erschienen. Die offensichtlichste Neuerung in dieser Version ist die Einführung von parallelen Queries:

Dabei können sequenzielle Scans bei strikten Read-only-Abfragen genauso parallelisiert ablaufen wie Aggregatfunktionen und Hash Joins. Weil diese parallele Ausführung (noch) nicht standardmäßig erfolgt, müssen Anwender sie zunächst erst einmal aktivieren.

Zur Kontrolle dient dabei der Parameter max_parallel_workers_per_gather in der Konfigurationsdatei, dessen Standardwert 0 bedeutet, dass keine Parallelisierung erfolgt.

Weil jeder Prozess eigene Ressourcen beansprucht, kann ein zu hoher Wert die Performance beeinträchtigen. So können zum Beispiel vier Arbeitsprozesse die benötigte CPU-Zeit, die Speicherauslastung und auch die benutzte  I/O-Bandbreite bis zu verfünffachen.

Auch das Backup-Tool Barman erschien als neue Version 2.o und sichert jetzt auch in Docker-Container und auf Windows.

Weitere Details finden Sie in der offiziellen Bekanntmachung der Veröffentlichung von PostgreSQL 9.6 und in den Release Notes der neuen Version. Auf der Download-Seite gibt es neben den Quellcodes auch Binaries für Windows, OS X, Solaris und zahlreiche Linux-Varianten zum Herunterladen.

Editor Vim 8.0 veröffentlicht

VimNach mehr als zehn Jahren haben die Entwickler des Editors Vim (Vi IMproved) jetzt die neue Hauptversion Vim 8.0 veröffentlicht.

Neu in Vim 8.0 sind Features wie die asynchrone Ein- und Ausgabe über sogenannte Channels für die Kommunikation zwischen Vim und externen Prozessen über Pipes und Sockets, Partials – also Funktionsreferenzen mit vorgegebenen Argumenten. Außerdem sind Fenster-IDs neu hinzugekommen, ebenso die drei Vimscript-Datentypen Special, Job und Channel, und darüber hinaus assert-Funktionen für Style-Tests.

Viele der Änderungen betreffen Plugin-Entwickler. Weil neu entwickelte Plug-ins bei bestimmten Funktionen nicht mit den älteren Versionen des Editors laufen können, wurde beschlossen, mit dem neuen Release einen großen Versionssprung zu vollziehen.

Zu den neuen Fähigkeiten des Editors gehört auch, dass Lua jetzt als benutzbare Skriptsprache aufgenommen wurde. Auch die Unterstützung für Lambda-Funktionen bzw. Closures haben die Entwickler mit Vim 8.0 erweitert. So gibt es unter anderem inzwischen mit test-functions eine passende Umgebung, um Funktionen und Skripte testen zu können

Weiterführende Informationen zum neuen Release gibt es in der Dokumentation.

Sicherheitsupdates für Ruby on Rails

rubyDas Entwickler-Team von Rails hat jetzt Sicherheitsupdates für die letzten drei Hauptserien veröffentlicht. Die Updates mit den Versionsnummern 5.0.0.1, 4.2.7.1 und 3.2.22.3 des Webframeworks beheben eine Schwachstelle in Action View.

Über diese Sicherheitslücke waren Angriffe möglich, weil Text, der als html_safe deklariert ist, keine Escape-Sequenzen für Anführungszeichen erhält. Das wird immer dann zum Problem, wenn Programme Benutzereingaben ohne weitere Überprüfung übernehmen wie bei dem nach folgendem Beispiel aus dem Bericht zu der als CVE-2016-6316 (Common Vulnerabilities and Exposures) markierten Schwachstelle:

content_tag(:div, "hi", title: user_input.html_safe)

Der Bericht weist auch darauf hin, dass einige der Helper-Funktionen wie beispielsweise sanitize Strings bei der Weitergabe als html_safe markieren und dadurch auch betroffen sind. Neben dieser Schwachstelle, die in allen Hauptversionen von 3 bis 5 zu finden sind, gibt es noch ein weiteres Problem, das nur die 4.2.x-Serie betrifft.

Das ist zwar weniger kritisch, erlaubt aber das Ausführen einerIS NULL-Abfrage durch das Einfügen eines [nil]-Wertes innerhalb eines Requests. Der CVE-2016-6317-Bericht weist darauf hin, dass Angreifer so keine beliebigen Werte in SQL-Abfragen einfügen, sondere nur nach NULL-Werten suchen oder WHERE-Bedingungen entfernen wollen und können.

Deshalb raten die Entwickler dringend zur Aktualisierung von Ruby on Rails. Weiterführende Informationen und die Checksummen der Updates finden Sie in der offiziellen Bekanntmachung.

Android Studio 2.0 für Entwickler

AndroidStudioEmulatorSchon vor seiner I/O-Konferenz im Mai hat Google soeben die nächste Version seiner Entwicklungsumgebung (IDE) für Android-Apps,  Android Studio Version 2.0, veröffentlicht.

Die merklich überarbeitete IDE basiert immer noch auf JetBrains‘ Java-Entwicklungsumgebung IntelliJ IDEA, und zwar auf der Version 15, und steht kostenlos zum Download für die Betriebssysteme Windows, OS X und Linux zur Verfügung.

Im neuen Release 2.0 finden sich viele Neuerungen, die im Wesentlichen die Produktivität verbessern. Weitergehende Details dazu finden Sie in einem Artikel bei Heise.