Flutter is an open-source mobile application development framework created by Google. It is used to develop applications for Android and iOS, as well as being the primary method of creating applications for Google Fuchsia.
N/A
Oracle APEX
Score 8.5 out of 10
N/A
Oracle APEX (or Oracle Application Express) is an online low-code application builder that allows users to develop a database-drive application, customize the application's UI, and then give their users access to the application via URL. Oracle APEX includes a suite of pre-built productivity applications and examples, such as a Survey Builder, Bug Tracking, P-Track project management, etc
Flutter is well known for native app development, if you have android studio installed on your system, you can quickly start using it. This might not be the best choice for you if you do not wish to learn a new language, i.e. Dart and you do not know it already.
It is appropriate for database application development supporting data driven processes, online transaction processing, BI/reports/analytics ... for addressing about any business data processing need I can think of. Oracle Application Express is fantastic for creating beautiful rich user interfaces with support for all major browsers rendering well on a range of devices. It is less appropriate for applications requiring native low level access to device peripherals and is less appropriate for applications that must execute offline without network/internet connection to supporting application and database servers.
Occasionally updates to the Flutter SDK result in wide-sweeping changes that seem to not be thoroughly tested and considered. Flutter sometimes evolves too fast for its own good.
While the 3rd-party Flutter package ecosystem is vast and rich, 1st-party support for basic things (audio/video playback, battery information, Bluetooth services, etc.) are lacking. You are occasionally forced to rely on an open-source package for use-cases that other platforms have native support for.
Documentation, particularly around testing, is lacking. While there are some great docs, like the Dart Style Guide, many Flutter-focused support documents are lacking in quality and real-world usability.
Flutter allows you to architect an app however you want. While this is a great feature, it also adds complexity and leads to the current state of Flutter's state management, where there are 50+ options on how to organize your app, with very little official guidance or recommendations from the Flutter team. For a beginner, this can create decision paralysis.
For complex APEX applications you need to be a pro expert in PL/SQL
Debugging in APEX can be complicated if there is a logical error. Syntax errors will end up shown as ORA errors
Lack of designer interface. Even though you are designing a form you need to do it by means of APEX interface using a series of steps, no UI for design
Oracle specific not applicable for other databases
I felt very comfortable using Oracle Application Express from the start. I designed my data model and quickly developed the basic CRUD pages for master tables. Then I designed the main functionality and was able to test and deploy it in a couple of days work. I will probably share the app with other members of the team and continue adding some features in the short term.
Because it's very easy to develop, fast, secure, has a lot of features. It's like a prototyping tool such as figma, but it can be used as a real product. Dynamic action, plugin, rest api, minimize a lot of coding, a lot of templates, PWA, really bring Oracle APEX functionality to be able to solve most common internal users pain points.
Very active and knowledgeable community support includes quick and helpful responses from the Oracle employees on the product development team. I've never had to raise an official support request - everything is dealt with via forums and user groups - or via direct emails. The supposrt commuinty is one of the great things about Apex.
Using it on the cloud is really simple, the entire process of configuring and provisioning an Oracle Database takes only a few minutes (less than 10) and then Oracle APEX is already deployed on the database, so you just have to start using it. I would strongly recommend using APEX on Oracle Cloud Free Tier.
I have experience with react and React Native. I would say that the idea behind all those frameworks are quite similar. However, I found the javascript-based frameworks a bit more accessible as you could utilise your javascript knowledge. Here, Flutter works with its own language. This has advantages and disadvantages sometimes. I found the community around javascript frameworks bigger and therefore sometimes more helpful. However, Flutter does a good job here as well. I think the main argument for Flutter is its usability for less experienced developers. If you do not have knowledge in javascript or other programming languages then I think it is much easier to start with Flutter than with another framework like react. I think the package that you get form scratch is better than in the other frameworks were you have to set up and learn a lot more before you can start.
Oracle APEX and Oracle Visual Builder are both low-code development platforms within the Oracle ecosystem, but they serve different purposes. Oracle APEX is more suited for the people who are familiar with SQL, PLSQL. It provides rapid application development features based on data residing in Oracle database. It's a low code platform and best suited for web based applications/extensions based on Oracle DB that may use REST APIs and other web services. It also provides mobile application support. Oracle Visual Builder is best suited for web applications based on Oracle Cloud services. It utilizes javascript based drag-drop UI builder. It's very deeply integrated with Oracle Fusion Cloud platform.
The rapid development capabilities of Flutter allow us to build apps we could not have previously considered commercially viable, opening new revenue streams.
Free and open licensing made adoption very easy (ie. free/low cost!).
In comparison to Qt, our time spent arguing with build tools and perfecting development environments has decreased substantially.
It has increased our development output over Forms greatly. For instance, when starting at my current company, I was able to replace our aging ASP Intranet site within 4 months when our IT manager had budgeted over a year for the task.
We've been able to standardize under one technology, incorporating previously unsupportable disparate systems under one roof.
It's free with an Oracle Database so the only investment was our time, something we now have more of thanks to Application Express.