

ELSA, ứng dụng học phát âm tiếng Anh hàng đầu với hàng triệu người dùng toàn cầu, đã và đang đối mặt với những thách thức lớn trong việc mở rộng mobile app của mình để đáp ứng nhu cầu ngày càng tăng của người dùng. Bằng cách chuyển đổi từ nền tảng Native sang Flutter, một framework đa nền tảng, có khả năng tối ưu hiệu suất và đẩy nhanh tốc độ phát triển sản phẩm, ELSA đã giải quyết được bài toán scale up của mình. Thách thức scale up và bài toán của ELSA Trong bối cảnh thị trường ứng dụng di động cạnh tranh khốc liệt, việc mở rộng ứng dụng là yếu tố then chốt để giữ vững vị thế và thu hút người dùng mới. Khả năng mở rộng (scalability) của ứng dụng được đánh giá dựa trên khả năng hoạt động ổn định, mượt mà khi: Số lượng người dùng tăng đột biến: Ứng dụng phải đảm bả [...]
Read more →
Bài viết được sự cho phép của tác giả Sơn Dương Câu chuyện khởi nghiệp luôn bắt đầu bằng vấn đề tài chính – thứ gây đau đầu nhất. Đặc biệt các bạn công nghệ khi muốn khởi nghiệp, việc lựa chọn công nghệ để tối ưu chi phí phát triển và maintainance rất quan trọng. Bài viết này mình sẽ chia sẻ với các bạn một góc nhìn về những lựa chọn khi phát triển ứng dụng mobile, giải pháp cho lập trình mobile đa nền tảng: chọn lập trình React native hay Ionic? Những lựa chọn này sẽ ảnh hưởng trực tiếp đến nhân lực, kinh phí và thời gian của bạn trong tương lai. #1. Dùng Hybrid hay Native? React Native hay Ionic? Chắc hẳn khi bắt đầu dự án thì trong đầu bạn sẽ có nhiều câu hỏi đại loại như thế đúng không? Trong bài viết này, mình sẽ cố gắng tìm câu trả lời cho từng [...]
Read more →
Lộ trình học React Native như nào là câu hỏi nhiều anh em newbie khi bước chân vào build app với React Native cần biết. Nắm bắt được nhu cầu đó, tui xin mạn phép viết bài viết này giúp anh em từng bước tiếp cận React Native theo cách đơn giản nhất có thể. Okie, bắt đầu thôi nào! 1. Cài đặt môi trường các kiểu Xin lỗi anh em nếu phần đầu tiên mới chỉ đề cập tới môi trường, cài đặt, ngôn ngữ các kiểu. Nhưng dành cho một số anh em mới, việc thiết lập môi trường, cài đặt hay sử dụng IDE nào cũng khá quan trọng. Nên lướt qua, hoặc nói đúng hơn là liệt kê ra đây cho anh em biết 1.1 Cài đặt môi trường iOS Dưới đây liệt kê các bài viết hướng dẫn thiết lập môi trường iOS Setting up the environment development - các bước giúp anh em thiết lập môi trườ [...]
Read more →
Trong thời đại công nghệ số, mobile app đóng vai trò ngày càng quan trọng khi giải quyết được nhiều vấn đề của người dùng. Để đáp ứng nhu cầu ngày càng cao của người dùng, các nhà phát triển ứng dụng di động phải tìm ra giải pháp tối ưu để phát triển ứng dụng trên cả hai nền tảng iOS và Android. React Native là một giải pháp được nhiều người lựa chọn hiện nay. Vậy React Native là gì? Hãy cùng tìm hiểu trong bài viết này. React Native là gì? React Native là một framework phát triển ứng dụng di động đa nền tảng (cross-platform) được phát triển bởi Facebook. Nó cho phép bạn xây dựng ứng dụng di động cho cả nền tảng iOS và Android bằng việc sử dụng JavaScript. React Native sử dụng một ngôn ngữ và mô hình phát triển chung để xây dựng ứng dụng cho cả hai hệ điều hành, điều này giúp giảm bớt công sức và [...]
Read more →
Bài viết được sự cho phép của tác giả Sơn Dương Hiện nay có nhiều bạn mới bắt đầu học về React Native và đều có những băn khoăn về hai khái niệm: ReactJS và React Native. Hai thằng này có tên gần giống nhau, liệu có phải là cùng một lò sinh ra không? Các viết code và cơ chế hoạt động có giống nhau không?..v.v Hôm nay, mình sẽ cùng nhau khám phá ReactJs và React Native giống và khác nhau chỗ nào nhé! Giới thiệu React.js và React Native React.js (hay còn được gọi là React) là một thư viện JavaScript mã nguồn mở được sử dụng rộng rãi để xây dựng các giao diện người dùng (UI) cho ứng dụng web. React.js cho phép các nhà phát triển xây dựng các thành phần giao diện người dùng có thể tái sử dụng và quản lý trạng thái ứng dụng một cách hiệu quả. Với khả năng render nhanh chóng nhờ sử [...]
Read more →
React Native là một framework phát triển ứng dụng di động mã nguồn mở do Facebook tạo ra và ra mắt từ năm 2015, đến nay nó trở thành một lựa chọn phổ biến cho các nhà phát hành ứng dụng mobile khi muốn xây dựng và phát triển ứng dụng của mình. Trong bài viết hôm nay, chúng ta cùng tìm hiểu về React Native Developer là gì cũng như cần học gì để trở thành lập trình viên trong ngành này nhé. React Native là gì? React Native là một framework viết bằng JavaScript giúp chúng ta tạo ra được những ứng dụng di động chạy trên các nền tảng hệ điều hành Android hay iOS. React Native là một cross platform (đa nền tảng) phát triển ứng dụng bằng cách viết một lần code và có thể build được ra nhiều ứng dụng trên các hệ điều hành khác nhau. Lợi ích lớn nhất của những cross platform như React Native là việc tiết kiệm thời [...]
Read more →
Trong lập trình di động, chúng ta thường được nghe đến các khái niệm như mobile native, web-based hay hybrid app. Đặc biệt hiện nay phần đông các lập trình viên mobile chọn làm về ứng dụng native. Vậy mobile native là gì? Mobile native có ưu điểm gì là được phần đông mobile dev lựa chọn. Bài viết này mình sẽ cùng các bạn phân tích để tìm hiểu rõ hơn vấn đề này nhé. Mobile native là gì? Mobile native là thuật ngữ dùng để chỉ những ứng dụng được viết bằng ngôn ngữ lập trình tương ứng cho từng nền tảng hệ điều hành mobile. Như chúng ta biết hiện nay thì 2 nền tảng mobile chiếm thị phần lớn nhất là Android của Google và iOS của Apple. Số liệu năm 2022 cho thấy 2 nền tảng này chiếm đến hơn 99% thị phần trong thị trường mobile toàn cầu. Nguồn: https://engineering.linecorp.com 2 ông lớn Google và Apple đều trang bị cho lập trình viên của họ những bộ cô [...]
Read more →
Bài viết được sự cho phép của tác giả Giang Phan Trong Hibernate, HQL hoặc Criteria Query cho phép chúng ta thực hiện hầu hết mọi truy vấn SQL mong muốn. Tuy nhiên, đôi khi về câu lệnh SQL được tạo ra bởi Hibernate chậm hoặc cần viết câu lệnh phức tạp và thích tạo câu lệnh SQL (SQL gốc) của riêng mình hơn. Với Hibernate cho chúng ta sử dụng Native SQL để thao tác với cơ sở dữ liệu, bao gồm các stored procedures, và tất cả các thao tác create, update, delete và select. Tương tự như HQL hay Creteria, để tạo đối tượng Native Query chúng ta sẽ sử dụng phương thức createNativeQuery() từ đối tượng Session: org.hibernate.query.NativeQuery createNativeQuery(java.lang.String s); <R> org.hibernate.query.NativeQuery<R> createNativeQuery(java.lang.String s, java.lang.Class<R> aClass); Scalar queries Các truy vấn SQL cơ bản nhất là để có được một danh sách các giá trị scalars (column) từ một hoặc nhiều bảng. Ví dụ lấy tất cả cá [...]
Read more →
Tác giả: Gabriel Peal Vào năm 2016, chúng tôi đã quyết định dồn hết đầu tư và tâm huyết vào React Native. Và hai năm sau, chúng tôi muốn chia sẻ cho cả thế giới về những trải nghiệm của mình và cả những dự tính của mình trong tương lai. 10 năm trước khi Airbnb ra đời, thì đó là thời kì mới sinh sôi nảy nở của thiết vị smartphone. Kể từ đó, smartphone đã trở thành một thiết bị quá sức cần thiết trong cuộc sống hằng ngày của chúng ta, đặc biệt là khi con người ngày càng vươn xa ra thế giới. Là một cộng đồng cung cấp giải pháp du lịch mới cho hàng triệu người dùng, một app toàn cầu là điều cần thiết. Các thiết bị mobile giờ đây sẽ là ưu tiên hàng đầu, hoặc cũng có thể là công cụ giao tiếp duy nhất mà họ dùng đến khi ở xa nhà. Khởi điểm với chỉ 3 khách đặt phòng trên đường Rausch [...]
Read more →
Bài viết được sự cho phép của tác giả Edward Thien Hoang Cloud computing thì ai cũng đã quá quen thuộc, người người lên Cloud, nhà nhà lên Cloud. Gần đây lại xuất hiện trào lưu Cloud-native. Cloud native đã xuất hiện ở nước ngoài khá lâu rồi nhưng chỉ cập bến ở Việt Nam chúng ta vài năm gần đây thôi. Vậy Cloud-native là gì? Khác gì với Cloud computing vậy? Cloud-native là 1 buzzword, cũng giống như Cloud Computing, Blockchain. Buzzword mang một nghĩa chung chung mà không thể nào hiểu theo nghĩa đen được. Điện toán đám mây là gì? Có phải là máy tính để lên các đám mây cho mát thì gọi là điện toán đám mây. Trong bài này mình sẽ không cắt nghĩa Cloud Computing hay nói tắt là Cloud nữa, vì giờ ai cũng biết nó rồi. Quay lại với Cloud-native. [irp posts="29240" name="AWS, Azure và Google Cloud là gì? Chứng chỉ nào tốt nhất cho sự nghiệp của bạn?"] [irp posts="5984" name="CLOUD ACE: Không mang [...]
Read more →
Tạo một Slider component trong React Native bằng cách sử dụng PanResponder là một cách tuyệt vời để học cách xử lý các cử chỉ người dùng trong ứng dụng di động. PanResponder cho phép bạn nắm bắt và phản ứng với các sự kiện vuốt và kéo của người dùng. Dưới đây là một ví dụ đơn giản về cách bạn có thể tạo một slider component bằng PanResponder. Tạo Slider Component Tạo một tệp mới với tên Slider.js trong thư mục dự án của bạn và sao chép đoạn mã dưới đây vào: import React, { useState, useRef } from 'react'; import { View, Animated, PanResponder, StyleSheet } from 'react-native'; const Slider = ({ width = 300, height = 40 }) => { const [position, setPosition] = useState(new Animated.Value(0)); const panResponder = useRef( PanResponder.create({ onStartShouldSetPanResponder: () => true, onMoveShouldSetPanResponder: () => true, onPanResponderGrant: () => { position.setOffset(position._value); position.setValue(0); }, onPanResponderMove: Animated.event( [null, { dx: position }], { useNativeDriver: false } ), onPanResponderRelease: () => { position.flattenOffset(); }, }) ).current; const sliderWidth = width - height; return ( <View style={[styles.container, { width, height }]}> <View style={styles.track} /> <Animated.View {...panResponder.panHandlers} style={[ styles.thumb, { transform: [ { translateX: position.interpolate({ inputRange: [0, sliderWidth], outputRange: [0, sliderWidth], extrapolate: 'clamp', }), }, ], }, ]} /> </View> ); }; const styles = StyleSheet.create({ container: { justifyContent: [...]
Read more →
React Native Developer sẽ xây dựng ứng dụng React Native App trên nền tảng Android và iOS bằng ngôn ngữ JavaScript. Công việc của React Native Dev thường tập trung phần Front-end của sản phẩm, nhưng họ cũng rất giỏi trong việc tìm hiểu các dịch vụ và cơ sở hạ tầng API mà ứng dụng cần tích hợp. Hy vọng, Mẫu bảng mô tả công việc lập trình React Native này sẽ giúp các bộ phận nhân sự dễ dàng hơn cho việc tuyển dụng những vị trí này. Mẫu bảng công việc lập trình React Native Developer YÊU CẦU CÔNG VIỆC Có kinh nghiệp lập trình Native App hoặc Hyprid App Thành thạo React Native Nắm vững các khái niệm lập trình OOP, mô hình MVC Có kiến thức về Multithreading, Data structures, Algorithm và Design pattern Hiểu biết về API REST Có khả năng thiết kế và tối ưu cơ sở dữ liệu cho ứng dụng có lượng truy cập lớn [...]
Read more →
Cách đây 2 năm, tôi chỉ tập trung vào lập trình Android native. Nhưng đến năm ngoái, khi công ty yêu cầu tôi học lập trình iOS, tôi đã khá phấn khích lúc đầu, nhưng sự phấn kích đó nhanh chóng phai nhạt dần, năng suất làm việc của tôi cũng suy giảm đi. Tôi nhận ra, mình phải học lại từ đầu tất cả mọi thứ như framework, các công cụ, IDE... Và vì tôi rất thích đến các buổi meetup nên tôi cũng bắt đầu tham dự các buổi meetups của cả Android và iOS. Tôi cần phải cập nhật với những tính năng mới nhất trên cả 2 platforms, nên rất tốn thời gian và khó chịu khi khả năng học của tôi không nhanh. Vì vậy, tôi đã rất hứng thú khi React Native dành cho iOS ra đời. React Native là một giải pháp giải pháp tối ưu để phát triển ứng dụng trên cả hai nề [...]
Read more →
Đối với các bạn mới bắt đầu làm quen React Native thì việc tối ưu performance là điều không cần thiết. Các bạn nên dành thời gian để tìm hiểu xem props/state là gì, tạo style thế nào, tạo component ra sao, blabla... Nhưng khi đã thành thạo những kiến thức cơ bản và bắt đầu làm 1 sản phẩm hoàn chỉnh thì việc quan tâm đến performance là điều cực kỳ quan trọng, đặc biệt trong những view phức tạp hoặc có dữ liệu lớn. Nguyên tắc chung khi lập trình giao diện là: render càng nhiều, performance càng thấp (app càng lag). Vậy nên để cải thiện performance, việc đầu tiên chúng ta phải xem xét là có xử lý nào gây ra những render không cần thiết hay không? Tuy nhiên, có những thói quen lập trình tưởng chửng rất đơn giản nhưng lại là nguyên nhân của những render không mong muốn. Cùng thử xem các lý [...]
Read more →
🔥 Điều gì khiến công ty hay startup công nghệ của bạn tiến bước trên con đường thành công? 🔥 Ý tưởng táo bạo, chưa từng xuất hiện ở bất kì đâu? 🔥 Đội ngũ nhân sự cùng chí hướng sẵn sàng đồng cam cộng khổ? 🔥 Nghiên cứu thị trường rồi đưa ra những chiến lược và tầm nhìn phù hợp? Tất cả đều đúng, nhưng điểm mấu chốt đó chính là là ra mắt sản phẩm với thời gian và tốc độ nhanh nhất. Trong thời buổi digital hiện nay, chỉ cần chậm một chút thôi là những ý tưởng mà bạn suy nghĩ trong đầu đã trở thành sản phẩm trong tay người khác. Do đó, Mobile First là 1 trong những xu hướng trong 3-4 năm trở lại đây mang mọi thông tin và sự tiện ích lên chiếc điện thoại thông minh nhỏ gọn. Tất cả những sản phẩm đặc biệt là những startup công nghệ càng phải chú trọng hơn [...]
Read more →